私はとても混乱しています。例えばother_program
Pythonサブプロセスのコマンドラインエラー
だから私は、だから私はこのようにそれを実行する可能性がある、別のプログラムを使用して私のプログラムprogram10.py
を使用しようとしている:
python3 program10.py other_program
other_program
は、ここに1つのint引数 を受け入れ、私のprogram10.py
コードです。
import time
import subprocess
n = 2**10
myList = []
while n <= 2**15:
before = time.process_time()
subprocess.call(n)
after = time.process_time()
print(n, after-before)
myList.append(after-before)
n *= 2
print(myList)
そして、もちろん、私はこの大きなエラーが発生します。
Traceback (most recent call last):
File "program10.py", line 7, in <module>
subprocess.call(n)
File "/usr/lib/python3.5/subprocess.py", line 557, in call
with Popen(*popenargs, **kwargs) as p:
File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.5/subprocess.py", line 1440, in _execute_child
args = list(args)
TypeError: 'int' object is not iterable
私はsubprocess.callを完全に間違って使用していることに疑いはありません。私はそれを理解していないので、他の質問やPythonのドキュメントは私を助けませんでした。誰かが私のプログラムとどう関係しているか教えていただけたら、それは大いに意味します。
などの別の関数を使用する必要があります。ループを初めて実行するときに、 'subprocess.call(2 ** 10)'を実行しようとします。 。 2回目は 'subprocess.call(2 ** 11)'となります。 Pythonは、実行するプログラムの名前*があると考えています。あなたのプログラムに渡されるコマンドラインパラメータのための 'sys.argv [1]'おそらく... – jasonharper