如何在我的python脚本中管理另一个脚本的控制台打印文件?

时间:2018-06-09 15:26:33

标签: python

我有一个脚本(让我们称之为test.py)在运行时写入控制台。在命令行中,我可以使用“python test.py>> a.txt”将其写入文件。

如何在另一个(foo.py)脚本中实现相同的功能,我在使用os.system(“test.py”)来调用第一个脚本?

1 个答案:

答案 0 :(得分:0)

考虑将第一个程序的标准输出(例如writer.py)输入到第二个程序(例如reader.py),并从标准输入读取第二个程序。然后,将第二个程序的输出重定向到一个文件。

writer.py

#!/usr/bin/env python

for i in range(0, 10):
    print("Line {}".format(i))

reader.py

#!/usr/bin/env python

import fileinput

for line in fileinput.input():
    print("Hello - " + line.rstrip())

在控制台中,您只需使用|writer.py的输出管道传输到reader.py,然后>reader.py的输出写入一个文件:

➜ ./writer.py | ./reader.py > output.txt
Hello - Line 0
Hello - Line 1
Hello - Line 2
Hello - Line 3
Hello - Line 4
Hello - Line 5
Hello - Line 6
Hello - Line 7
Hello - Line 8
Hello - Line 9