在我的机器上,我有一些软件可以在终端中接收命令并返回值列表。
要运行它,我必须输入如下内容:
pdv -t filename
我正在尝试将它作为 python 程序的一部分运行。当我运行以下命令时:
os.system('pdv -t %s' % (epoch_name))
然后我得到我希望返回到我的终端的值(其中 epoch_name 是文件名的变量名)。但是当我尝试将结果写入文件时:
os.system('pdv -t %s % "(epoch_name)" > 123.txt')
文件 123.txt 已生成,但它是空的。
我知道我放错了 "和/或 ' 字符,但我不知道它们应该放在哪里。
如有任何帮助,我们将不胜感激!
请您参考如下方法:
您可以使用带有 stdout 关键字参数的 subprocess.call:
import subprocess
cmd = ['ls', '-l']
with open('output.txt', 'w') as out:
return_code = subprocess.call(cmd, stdout=out)
