在 Python 中,有三种从标准输入读取数据的方法。

  1. 系统标准输入

  2. input() 内置函数

  3. fileinput.input() 函数

1.使用 sys.stdin 从标准输入读取

Python sys 模块标准输入被解释器用于标准输入。在内部,它调用 input() 函数。输入字符串最后附加一个换行符 (\n)。因此,您可以使用rstrip() 函数将其删除。这是一个从标准输入读取用户消息并进行处理的简单程序。当用户输入“退出”消息时,程序将终止。

import sys

for line in sys.stdin:
    if 'Exit' == line.rstrip():
        break
    print(f'Processing Message from sys.stdin *****{line}*****')
print("Done")

输出:

Hi
Processing Message from sys.stdin *****Hi
*****
Hello
Processing Message from sys.stdin *****Hello
*****
Exit
Done

Python 标准输入示例

Python 标准输入示例

请注意使用 rstrip() 删除尾随换行符,以便我们可以检查用户是否输入了“退出”消息。

2.使用 input() 函数读取标准输入数据

我们也可以使用Python input()函数来读取标准输入数据。我们还可以向用户提示消息。这是一个在无限循环中读取和处理标准输入消息的简单示例,除非用户输入退出消息。

while True:
    data = input("Please enter the message:\n")
    if 'Exit' == data:
        break
    print(f'Processing Message from input() *****{data}*****')

print("Done")

输出:

从标准输入读取的 Python 输入

Python input() 从标准输入读取

input() 函数不会将换行符附加到用户消息中。

3.使用 fileinput 模块读取标准输入

我们还可以使用fileinput.input()函数从标准输入中读取。 fileinput 模块提供实用函数来循环标准输入或文件列表。当我们不向 input() 函数提供任何参数时,它会从标准输入中读取参数。此函数的工作方式与 sys.stdin 相同,并将换行符添加到用户输入数据的末尾。

import fileinput

for fileinput_line in fileinput.input():
    if 'Exit' == fileinput_line.rstrip():
        break
    print(f'Processing Message from fileinput.input() *****{fileinput_line}*****')

print("Done")

输出:

Python Fileinput 读取标准输入

Python fileinput.input() 读取标准输入

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐