Python 如何将程序的输出写入文件或列表

Python 如何将程序的输出写入文件或列表,python,file-io,Python,File Io,我的机器上有一个程序,在终端窗口中运行,并返回信息列表。例如: t000930_152536.SFTC 1369.000 t031109_124140.SFTC 1369.000 t140207_071131.SFTC 3094.000 t190222_011122.SFTC 1369.000 t100423_011232.SFTC 1369.000 t190423_021543.SFTC 1369.000 t190714_205113.SFTC 3094.000 t

我的机器上有一个程序,在终端窗口中运行,并返回信息列表。例如:

t000930_152536.SFTC   1369.000
t031109_124140.SFTC   1369.000
t140207_071131.SFTC   3094.000
t190222_011122.SFTC   1369.000
t100423_011232.SFTC   1369.000
t190423_021543.SFTC   1369.000
t190714_205113.SFTC   3094.000
t110115_085319.SFTC   3094.000
我想做的就是用Python获取这些信息——无论是将其写入文件还是将其列为列表

这是我天真的尝试:

#!usr/bin/python
import os

os.chdir('./P574/J0998-1034')

f = open('1400list.txt','w')
os.system('vap -c freq *.SFTC') # this tells my other programme to create its list
f.close

但是创建的文件仍然是空的。希望能在这个简单的问题上得到一些帮助

尝试正常的文件重定向。 假设vap在stdout上打印其信息,此方法应适用于您:

#!usr/bin/python
import os

os.chdir('./P574/J0998-1034')
os.system('vap -c freq *.SFTC > 1400list.txt')

顺便说一句,您可以直接在终端使用这种重定向。只有当您想要获取输出并以某种方式对其进行操作时,才真正需要涉及python。