使用两个参数,其中一个是check_output上的整数



你好,请编译我正在使用的程序,我在终端使用命令:

python3 pp.py cholesky.c --args "m.mtx.txt 1400" --verbose

我使用了两个参数,正如你所看到的文件m.mtx.txt和1400但现在我需要在python脚本中使用它使用check_output来使用1400的不同int值所以我使用这个循环

for i in range(1400, 2500, 100):
i = str(i)
check = check_output(["python3", "pp-.py", "cholesky.c","--args", "m.mtx.txt", i, "--verbose"]).decode('ascii')

但是它没有工作,返回消息:

check = check_output(["python3", "pp-fpmp.py", "cg.c","--args", "m.mtx.txt", i, "--verbose"]).decode('ascii')
File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['python3', 'pp-fpmp.py', 'cg.c', '--args', 'm.mtx.txt', '1400', '--verbose']' returned non-zero exit status 2.

拜托,我真的需要一些帮助。

您传递--args参数的方式不同:

python3 dd.py cholesky.c --args "494_bus.mtx.txt 1400" --verbose --debug

"494_bus.mtx.txt 1400"应该是一个参数,例如:

check = check_output(["python3", "dd.py", "cholesky.c","--args", f"494_bus.mtx.txt {i}", "--verbose", "--debug"]).decode('ascii')

最新更新