协慌网

登录 贡献 社区

你怎么读斯坦丁?

我正在尝试做一些代码高尔夫挑战,但它们都需要输入来自stdin 。我如何在 Python 中获得它?

答案

您可以使用fileinput模块:

import fileinput

for line in fileinput.input():
    pass

fileinput将遍历指定为命令行参数中给出的文件名的输入中的所有行,如果没有提供参数则循环标准输入。

注意: line包含尾随换行符; 删除它使用line.rstrip()

有几种方法可以做到这一点。

  • sys.stdin是一个类似文件的对象,如果你想读取所有内容或想要读取所有内容并自动将其拆分,你可以在其上调用函数readreadlines 。 (您需要import sys才能工作。)

  • 如果要提示用户输入,可以在 Python 2.X 中使用raw_input ,只需在 Python 3 中input

  • 如果您实际上只是想读取命令行选项,则可以通过sys.argv列表访问它们。

您可能会发现这篇关于 Python 中 I / O 的 Wikibook 文章也是一个有用的参考资料。

import sys

for line in sys.stdin:
    print line