Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python处理标准输出_Python - Fatal编程技术网

用python处理标准输出

用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生成的每个输

我有一个脚本,不断地将一些值转储到屏幕上。让我们把这个脚本称为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生成的每个输出都由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