我读到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的情况下,同一脚本中指定的变量不会扩展。有什么想法吗?