0

pythonを呼び出す端末からスクリプトを呼び出そうとしてい.jarます。この Java プログラムは 1 つの引数 (文字列) を取り、.txtこの文字列の内容をファイルに書き込むことに注意してください。

私の試みは(で)行くことですtest.py

#!/usr/bin/python

import sys
import subprocess

subprocess.call(['java','-jar',sys.argv[0],sys.argv[1]])

次に、端末タイプで次のように入力します。

python test.py test.jar Hello

ただし、エラーが発生しますInvalid or corrupt jarfile test.jar。面白いことに、次のように動作します。

#!/usr/bin/python

import sys
import subprocess

subprocess.call(['java','-jar','test.jar',sys.argv[0]])

に続く:

python test.py Hello
4

1 に答える 1

3

sys.argv[0]の後に指定する最初の引数であるため、実際には Python ファイルの名前ですpython。したがって、呼び出しでは、 and を使用する必要がsys.argv[1]ありsys.argv[2]ます。

私のtest.py

import sys
print(sys.argv[0])

実行中test.py:

marius@devils-creek ~   python test.py
# Output 
test.py
于 2013-09-25T07:33:19.930 に答える