我有一个脚本(让我们称之为test.py)在运行时写入控制台。在命令行中,我可以使用“python test.py>> a.txt”将其写入文件。
如何在另一个(foo.py)脚本中实现相同的功能,我在使用os.system(“test.py”)来调用第一个脚本?
答案 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