首先,我们需要了解什么是标准输入。标准输入是指程序的默认输入,通常是从键盘输入数据。在Python中,我们可以使用sys.stdin和fileinput模块来读入标准输入数据。
使用sys.stdin读入标准输入
sys.stdin是Python标准库中的一个文件对象,可以用来读取标准输入。使用sys.stdin读取标准输入的方法如下:
import sys
for line in sys.stdin:
# 处理标准输入
pass
在这个代码中,我们使用了一个for循环遍历sys.stdin对象,从而逐行读取标准输入。每行的内容都会被存储在line变量中,我们可以在代码中对line进行处理。
下面是一个简单的示例程序,使用sys.stdin读取标准输入并打印出来:
import sys
for line in sys.stdin:
print(line)
假设我们以以下方式调用上述代码:
echo "hello world" | python test.py
那么程序的输出将会是:
hello world
这是因为echo命令将"hello world"输出到了标准输出,而我们使用了管道符号将标准输出重定向到了程序的标准输入。
使用fileinput读入标准输入
fileinput模块也可以用来读取标准输入,与sys.stdin相比,它的用法更加灵活。使用fileinput读取标准输入的方法如下:
import fileinput
for line in fileinput.input():
# 处理标准输入
pass
同样也是在一个for循环中遍历fileinput.input()的结果,每行的内容会被存储在line变量中。需要注意的是,在读入标准输入时,我们没有给fileinput.input()方法传递任何参数。这样做的话,fileinput将会自动打开标准输入文件。
下面是一个简单的示例程序,使用fileinput读取标准输入并打印出来:
import fileinput
for line in fileinput.input():
print(line)
同样假设我们以以下方式调用上述代码:
echo "hello world" | python test.py
那么程序的输出将会是:
hello world
这里要注意的是,在fileinput的for循环中,每行的末尾会自动包含一个换行符。如果需要去掉换行符,可以使用strip()方法。
以上就是Python读取标准输入的方法,使用sys.stdin和fileinput模块都可以实现。不同的用法适用于不同的场景,我们可以根据实际需要选择合适的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 使用sys.stdin和fileinput读入标准输入的方法 - Python技术站