通过管道操作,可以指定一个程序的输出为另一个程序的输入,即将一个程序的标准输出与另一个程序的标准输入相连,这种机制就称为管道。
通常,管道操作的预防格式如下:
程序1 | 程序2 | 程序3…… | 程序n
其主要目的是将“程序1”的标准输出连接到“程序2”,将“程序2”的标准输出连接到“程序3”输入,依次类推。
例7.1【代码示例】管式输入输出代码演示。
新建两个Python文件write_pipe.py和read_pipe.py
write_pipe.py包含代码如下:
print("Hello Pipe!")
print(50)
read_pipe.py包含代码如下:
print("这是我获取到的字符串:%s"%input())
import sys
data=sys.stdin.readline()[:-1]
print("获取到的数据是:"+data)
然后打开命令行执行,输入python write_pipe.py|read_pipe.py,执行结果如下所示。
当write_pipe.py文件调用print()函数时,一个字符串将添加到流的结尾,当read_pipe.py文件中调用循环从sys.stdin 读取数据时。
需要注意的是,在文件之间进行内容的传递时,不需要创建中间文件,而且不需要考虑存储空间的限制,执行效率更高。此处可以给出管道执行的示意图,如下图所示。