ファイルをロードし、それを使用して何らかの処理を行い、再度ディスクに書き込む .jar アーカイブがあります。
この .jar をコマンド プロンプトから直接呼び出すと、すべてが機能します。しかし、Python 内から実行しようとすると、次のエラーが発生します。
Input file ("C:\xxx.txt") was not found or was not readable.
これは私のpythonコードです:
import sys, os, subprocess
if os.path.isdir(sys.argv[1]):
for file in os.listdir("."):
print (" ".join(['java', '-jar', sys.argv[2], 'd', "\"" + os.path.abspath(file) + "\"", "\""+os.path.join(os.path.join(os.path.abspath(os.path.dirname(file)), "output"), file) + "\""]))
subprocess.call(['java', '-jar', sys.argv[2], 'd', "\"" + os.path.abspath(file) + "\"", "\""+os.path.join(os.path.join(os.path.abspath(os.path.dirname(file)), "output"), file) + "\""])
印刷されたステートメントをコマンドラインにコピーすると、jar は完全に実行されます。すべてが機能します。管理者として cmd を実行しようとしましたが、役に立ちませんでした。