Skip to main content
 首页 » 编程设计

python之将终端输出写入文件

2025年05月04日8hnrainll

在我的机器上,我有一些软件可以在终端中接收命令并返回值列表。

要运行它,我必须输入如下内容:

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)