什么是Pythonic处理标准输入的方式是什么?

时间:2014-02-04 02:34:09

标签: python

我开始编写比赛/挑战,而且问题往往涉及从标准输入中读取。我一直在做

import fileinput

inputLines = []

for line in fileinput.input():
    inputLines.append(line)
然后,我可以做inputLines我需要做的任何计算。是否有更多的Pythonic(即更好)的方法呢?

3 个答案:

答案 0 :(得分:2)

如果您只想从stdin读取,而不是从命令行中指定的任何文件中读取,则不应使用fileinput

如果您想要一个包含stdin行的列表,那么:

import sys
inputLines = list(sys.stdin)

答案 1 :(得分:1)

import sys
for line in sys.stdin:
    print "The line was", line

答案 2 :(得分:1)

我认为fileinput是在Python中实现它的灵活方式,因为他们制作了一个模块就是为了做到这一点。

如果您对将要阅读的输入类型有更多了解,可能会有更适合您需求的库。例如,我做了很多数值工作,所以pandas对我很有用,因为它有一个read_csv。看看docs(并尝试告诉我们更多有关特定阅读需求的信息,如果你可以缩小范围)。