📜  python 从标准输入管道读取 - Python (1)

📅  最后修改于: 2023-12-03 15:34:10.032000             🧑  作者: Mango

Python 从标准输入管道读取

当你需要从标准输入读取数据时,Python 中可以使用 input() 函数来实现。但是在某些情况下,你可能需要从一个或多个外部管道读取数据。在这种情况下,Python 提供了一种有效的方式来读取标准输入管道中的数据,本篇文章将会介绍这种方式。

读取标准输入管道

Python 提供了 sys 模块来处理标准输入管道,你可以使用以下代码来读取标准输入管道中的数据:

import sys

for line in sys.stdin:
    print(line.strip())

这个程序将在循环时读取标准输入管道中的数据,并打印出来。

注意: 这里的 strip() 函数用于删除行末尾的换行符。

在上面的代码中,sys.stdin 是一个类似于文件的对象,它可以读取标准输入管道中的数据。你可以使用这个对象访问标准输入管道的内容,并使用 for 循环或 while 循环来读取。

将数据传递到标准输入管道

除了读取标准输入管道中的数据,Python 还提供了一种方法可以将数据传递到标准输入管道中。你可以使用以下代码来传递数据:

import sys

data = "hello world"
sys.stdin = data.splitlines()

在这个例子中,我们将字符串 "hello world" 转换为一个列表,然后将其赋值给 sys.stdin,这将把数据传递给标准输入管道。在这之后,你可以使用输入函数 input() 来读取这个数据:

import sys

data = "hello world"
sys.stdin = data.splitlines()

for line in sys.stdin:
    print(line.strip())
总结

在 Python 中,你可以使用 sys.stdin 对象来处理标准输入管道。这个对象允许你读取标准输入管道中的数据,并将数据传递到管道中。

在读取数据时,你可以使用一个 for 循环或 while 循环来遍历标准输入管道中的行。在传递数据时,你可以将数据分配给 sys.stdin 对象,然后使用 input() 函数来读取数据。