我有一个 oarsub 工作与subprocess.run()
共进午餐。
我创建了一个名为 script.py 的文件,如下所示:
import subprocess
host_nb = 2
nb_core = 16
log_name = "./home/get_results.sh"
subprocess.run(["oarsub",
cmd,
"-p host='big{}'".format(host_nb),
"-l core={}".format(nb_core),
"-E oar_ouputs/%s.stderr" % log_name,
"-O oar_outputs/%s.stdout" % log_name,
"--notify".format("taylor_jason80@yahoo.com")
])
当我在终端中运行以下命令时:
python script.py cmd
我遇到以下错误
cmd,NameError:名称“ cmd”未定义
答案 0 :(得分:1)
如果要访问在命令行中传递的第一个参数,则可以将其用作sys.argv[1]
。
如果您希望将其分配给变量cmd
,请
import subprocess
import sys
host_nb = 2
nb_core = 16
log_name = "./home/get_results.sh"
cmd = sys.argv[1]
# etc...
请注意,您需要在命令行中用引号引起来的引数,例如
python script.py "this will all be sys.argv[1]"