具有subprocess.run()脚本的Oarsub作业

时间:2018-10-12 16:42:33

标签: python ubuntu subprocess

我有一个 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”未定义

1 个答案:

答案 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]"