0

最近、スクリプトの動作がおかしくなっています。私はPythonでスクリプトを持っています。これは、ファイルを介してリクエストを受け入れてTCP/IPコピーし、JAVAアプリケーションを開始/停止します。

一度、ディレクトリを再作成する必要があるコマンドが到着すると、python とすべてのJAVAアプリケーションの両方がIOError.

私が理解していないのは、AからBへのコピー中に、特定のファイルが宛先(B)に存在しないというエラーがスローされることです-もちろん! だからそこにコピーしたいのです!

同時に、すべての Java アプリケーションもクラッシュしIOExceptionます。

スタック トレースは次のとおりです。

パイソン

Traceback (most recent call last):
  File "/home/hosting/Executable.py", line 35, in copyCachedExec
    copy_tree(path + "/server", target)
  File "/usr/lib/python2.7/distutils/dir_util.py", line 163, in copy_tree
    verbose=verbose, dry_run=dry_run))
  File "/usr/lib/python2.7/distutils/dir_util.py", line 167, in copy_tree
    dry_run=dry_run)
  File "/usr/lib/python2.7/distutils/file_util.py", line 148, in copy_file
    _copy_file_contents(src, dst)
  File "/usr/lib/python2.7/distutils/file_util.py", line 44, in _copy_file_contents
    fdst = open(dst, 'wb')
IOError: [Errno 2] No such file or directory: '/home/hosting/servers/22842/mods/Factorization-0.7.21.jar'

ジャワ

2013-10-20 17:44:19 [SEVERE] null
java.io.IOException: Input/output error
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(FileInputStream.java:272)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
    at java.io.FilterInputStream.read(FilterInputStream.java:83)
    at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader$1.read(ConsoleReader.java:167)
    at org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:267)
    at org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:204)
    at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readCharacter(ConsoleReader.java:995)
    at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:1167)
    at net.minecraft.server.v1_5_R3.ThreadCommandReader.run(ThreadCommandReader.java:31)

PS: コピーが開始される前に、宛先ディレクトリが削除されます。

編集: ディレクトリ ツリーをコピーしていますx

/home/hosting/files/x/server.jar

/home/hosting/files/x/Factorization-0.7.21.jar

/home/hosting/files/x/other_files

/home/hosting/servers/22842存在する別のディレクトリへ

4

1 に答える 1

2

あなたの PS が問題を説明します。

open(dst, 'wb') # dst='/home/hosting/servers/22842/mods/Factorization-0.7.21.jar'

パス/home/hosting/servers/22842/mods/が存在する必要があります。を使用open()してファイルを作成するIOError場合、パスの一部が欠落している場合に発生します。

于 2013-10-20T17:11:55.507 に答える