在Python中如何使用stdin读取和处理标准输入流
发布时间:2023-12-26 02:52:44
在Python中,可以使用sys.stdin对象来读取和处理标准输入流。下面是一个可以读取多行输入并计算数字之和的例子:
import sys
def process_input():
input_lines = sys.stdin.readlines() # 读取多行输入
numbers = [int(line) for line in input_lines] # 将每行输入转换为整数
total = sum(numbers) # 计算数字之和
print("Sum:", total)
if __name__ == "__main__":
process_input()
在这个例子中,sys.stdin是一个类似于文件对象的可迭代对象,可以通过调用readlines()方法来一次性读取所有输入行,并将它们保存在一个列表中。
然后,我们使用列表推导式将每行输入转换为整数,并将这些整数保存在一个名为numbers的列表中。
最后,我们使用sum()函数来计算numbers列表中所有数字的和,并将其打印出来。
要执行这个程序,你可以在命令行中输入多行数字,然后按Ctrl + D(在UNIX系统上)或Ctrl + Z(在Windows系统上)来结束输入。程序将读取输入并计算数字之和。
以下是一个使用上述程序的示例输入和输出:
$ python program.py 1 2 3 4 5 Sum: 15
在这个例子中,我们按顺序输入了五个数字,并以一个空行作为结束标志。程序读取输入,并计算数字之和为15,并将其打印出来。
请注意,当使用sys.stdin读取标准输入流时,输入必须以某种方式结束,否则程序将一直等待输入。在UNIX系统上,可以使用Ctrl + D来结束输入,而在Windows系统上,可以使用Ctrl + Z来结束输入。
希望这个例子对你有所帮助!
