我必须从包含数据的多个文件制作图形。我已经找到了一种方法来运行一个简单的命令使用subprocess.Popen()执行xmgrace批处理()
xmgrace -batch batch.bfile -nosafe -hardcopy
其中batch.bfile是有风度命令的文本文件打印我想要的图形。我已经尝试过它手动,它完美的作品。要做到这一点与几个文件,我只需要编辑batch.b文件中的一个参数,并在每次进行更改时运行相同的命令。
我已经编写了一个编辑batch.bfile的python代码,并通过for循环遍历所有的数据文件。在每个循环步骤中,我想直接在命令行中运行所提到的命令。
搜索了一下后,我发现了两个解决方案,一个与使用os.system(),另一个与subprocess.Popen()和我只能作出subprocess.Popen()不通过书面形式给予的任何错误的工作:
subprocess.Popen("xmgrace -batch batch.bfile -nosafe -hardcopy", shell=True)
问题是,这在实践中并没有做任何事情,即它与在命令行中直接运行命令不同。我已经尝试编写batch.b文件的完整目录,但没有任何更改。
我使用Python 2.7和Mac OS 10.7
没有更改,因为在nothign返回或打印? – thabubble
恩,我的意思是没有文件生成。如果我直接在命令行中运行命令,图形将正常生成并且没有任何问题。 – operte