在python中处理stdout

Anu*_*nuj 0 python

我有一个脚本继续将一些值转储到屏幕上.让我们调用这个脚本1

我需要转储到屏幕上的值由另一个python脚本处理.让我们调用这个脚本2.我脚本1不能停止

我目前使用的是python 2.2,如果有人可以在不使用子进程的情况下提供示例,那将会很棒

脚本1看起来像这样

import sys
import os
i = 0
while 1:
    print i
    sys.stdout.write(str(i)+"\n")
        i = i + 1
Run Code Online (Sandbox Code Playgroud)

我需要编写script2,以便script1生成的每个输出都由script2处理

- 编辑 -

我需要它在遗留实现上运行,即只有Windows XP中的命令提示符没有电源shell

Gus*_*son 7

我不打算在这里谈论代码设计,因为我真的不知道你在做什么.

但对于script2.py:

import sys
for line in sys.stdin:
    print "From stdin:", line
Run Code Online (Sandbox Code Playgroud)

然后运行(至少在unix/linux上,如果你在windows上,google"在powershell中管道"):

python script1.py | python script2.py
Run Code Online (Sandbox Code Playgroud)

或者你想在一个python脚本中做到这一点?您可以sys.stdout通过简单地将其替换为具有所有必要方法(write等等)的类来重新管道.