用python处理标准输出
我有一个脚本,不断地将一些值转储到屏幕上。让我们把这个脚本称为1 我需要转储到屏幕上的值由另一个python脚本处理。我无法阻止 我目前使用的是python 2.2,因此如果有人能够提供一个不使用子流程的示例,那就太好了 脚本1看起来像这样用python处理标准输出,python,Python,我有一个脚本,不断地将一些值转储到屏幕上。让我们把这个脚本称为1 我需要转储到屏幕上的值由另一个python脚本处理。我无法阻止 我目前使用的是python 2.2,因此如果有人能够提供一个不使用子流程的示例,那就太好了 脚本1看起来像这样 import sys import os i = 0 while 1: print i sys.stdout.write(str(i)+"\n") i = i + 1 我需要编写script2,以便script1生成的每个输
import sys
import os
i = 0
while 1:
print i
sys.stdout.write(str(i)+"\n")
i = i + 1
我需要编写script2,以便script1生成的每个输出都由script2处理
--编辑--
我需要它在旧版实现(即无电源外壳)上运行,只需Windows XP中可用的命令提示符我想您需要逐行处理:
# script2.py
import sys
for line in sys.stdin:
print line # do something here with line
[编辑]最后,您只需通过管道传输:
python script1.py | python script2.py
我不会在这里说任何关于代码设计的事情,因为我真的不知道你在做什么 但是对于script2.py:
import sys
for line in sys.stdin:
print "From stdin:", line
然后运行(至少在unix/linux上,如果您在windows上,请使用google“piping in powershell”):
或者您想在一个python脚本中完成它?您可以通过简单地将其替换为具有所有必要方法(
write
,等等)的类来重新导入sys.stdout
。您使用的是什么操作系统?
python script1.py | python script2.py