在Python中读取控制台输入是很常见的操作,一般情况下,标准输入是从键盘读取数据,也可以从其他设备,如文件或管道读取数据。
一、从标准输入读取数据
Python中,从标准输入读取数据非常简单,只需要使用input()函数即可。
# 从标准输入读取字符串
s = input("请输入字符串:")
print("你输入的字符串是:", s)
# 从标准输入读取数字
n = int(input("请输入一个整数:"))
print("你输入的整数是:", n)
当然,你也可以使用raw_input()函数从标准输入读取字符串。在Python 2.x版本中,input()函数会把所有输入当做Python代码来处理,而raw_input()函数则会把所有输入当做字符串来处理。
二、从文件读取数据
除了从标准输入读取数据,我们还可以从文件读取数据。Python中的文件对象是一个可迭代对象,可以使用for循环读取文件中的所有行。
with open('input.txt', 'r') as f:
for line in f:
print(line.rstrip()) # 去除行末的换行符
上面的代码会打开名为input.txt的文件,并逐行读取其中的内容。
三、使用sys.stdin从标准输入读取数据
除了使用input()函数之外,我们还可以使用sys.stdin从标准输入读取数据。
import sys
for line in sys.stdin:
print(line.rstrip()) # 去除行末的换行符
在上面的代码中,我们使用了sys.stdin来代替标准输入,然后使用for循环逐行读取输入内容。
四、从管道读取数据
如果你想从管道读取数据,也可以使用sys.stdin,并将输入重定向到一个文件或者其他命令的输出。
echo "Hello World" | python input.py
上述命令将“Hello World”通过管道输入到我们写的input.py程序中,然后使用sys.stdin从标准输入读取输入内容。
五、结论
在Python中,从标准输入读取数据是非常简单的,我们可以使用input()函数、raw_input()函数、文件对象、sys.stdin以及重定向输入来实现这一功能。无论是从键盘读取输入,还是从文件或者管道读取输入,我们都可以使用Python轻松实现。