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

时间:2012-09-05 01:38:28

标签: 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
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

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

1 个答案:

答案 0 :(得分:2)

尝试正常的文件重定向。 假设,vap在stdout上打印其信息,这种方法应该对你有用:

#!usr/bin/python
import os

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