我有一个脚本(让我们称它为test.py),它在运行时写入控制台。在命令行中,我可以使用"python test.py >> a.txt“将其写入文件。
在使用os.system("test.py")调用第一个脚本的另一个(foo.py)脚本中,如何实现相同的功能?
发布于 2018-06-09 15:39:07
考虑将第一个程序(例如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
https://stackoverflow.com/questions/50775807
复制