Python:subprocess.call():为什么我需要shell参数是变量?

时间:2017-01-18 08:39:02

标签: python shell subprocess

我读到os.system()将被subprocess.call()取代,所以我尝试使用它。 我正在用

阅读环境变量
parallelrun = os.environ['PARALLEL_RUN']
aims = os.environ['AIMS_COMMAND']

然后想用

运行它
with open(outfile, 'w') as f:
    subprocess.call([parallelrun, aims], stdout=f)

我还没有保存错误消息,但它似乎在子进程模块中的某处失败了。我认为使用shell=True运行它会起作用,但会使脚本更容易受到攻击。 我不明白为什么在没有shell的情况下,同一脚本中指定的变量不会扩展。有什么想法吗?

0 个答案:

没有答案