25 个回答
591
import sys
for line in sys.stdin:
print(line)
请注意,这样做会在最后加上一个换行符。如果想去掉最后的换行符,可以使用 line.rstrip()
,正如 @brittohalloran 所说的那样。
833
有几种方法可以做到这一点。
sys.stdin
是一个像文件一样的对象,你可以用它来调用read
或readlines
函数。如果你想读取所有内容,或者想读取所有内容并自动按行分割,这个方法很有用。(要使用这个功能,你需要先import sys
。)如果你想要 提示 用户输入,可以在 Python 2.X 中使用
raw_input
,在 Python 3 中直接使用input
。如果你只是想读取命令行选项,可以通过 sys.argv 列表来访问它们。
你可能会发现 这篇关于 Python 输入和输出的维基书文章 也是一个很有用的参考。
1141
使用 fileinput
模块:
import fileinput
for line in fileinput.input():
pass
fileinput
会遍历你在命令行中指定的文件名里的所有行,如果没有提供文件名,它会读取标准输入。
注意:line
变量会包含一个换行符;如果你想去掉它,可以用 line.rstrip()
。