繁体   English   中英

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

[英]What is the most Pythonic way of handling standard input?

我已经开始进行编程竞赛/挑战赛,而且问题常常涉及从标准输入中读取内容。 我一直在做

import fileinput

inputLines = []

for line in fileinput.input():
    inputLines.append(line)

然后,我可以执行需要对inputLines进行的任何计算。 有没有更Pythonic(即更好)的方式来做到这一点?

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

如果您想要一个包含stdin中各行的列表,则:

import sys
inputLines = list(sys.stdin)
import sys
for line in sys.stdin:
    print "The line was", line

我认为fileinput是在Python中执行此操作的灵活方式,因为他们创建了一个模块来执行此操作。

如果您了解将要阅读的输入类型的更多信息,则可能有一些更适合您需要的库。 例如,我做了很多数值工作,因此pandas对我来说很棒,因为它具有read_csv 看一下文档 (如果可以缩小范围,请尝试告诉我们更多有关特定阅读需求的信息)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM