Linux 技术手札

Python 读取 Pipe 输入

在 Unix Like 环境下的 Pipe (管线) 十分重要, 它可以将一个程式的输出, 送给另一个程式处理, 只要中间用 “|” 字符相隔, 让几个不同的程式互相配合工作, 以下本章会介绍在 Python 读取 Pipe 输入的方法.

在 Python 要读取 Pipe 输入, 可以用 sys 模组的 sys.stdin, 它会读取 /dev/stdin 的输入, 例如:

以上程式码会将 stdin 输入逐行印出, 另一个例子是要将输入逐行读取, 然后将数值乘 2, 写法是这样:

可以这样执行测试:

上面会用 echo 输入三行分别是 1, 2, 3 到 test.py, 执行结果是:

2
4
6

上面的 echo 加入了 -e 参数, 是要让 echo 直接输出 \n 换行字串, 如果没有 -e 参数, 不会输入 3 行, 而是输入一行 “1\\n2\\3”.

Exit mobile version