【发布时间】:2017-08-10 02:40:44
【问题描述】:
问题 1: 我有一段这样的代码(Python2.7):
for line in sys.stdin.readlines():
print line
当我运行此代码时,在终端中输入一个字符串并按 Enter 键,没有任何反应。 “打印线”不起作用。 所以我想 sys.stdin.readlines() 有缓冲区,但我想知道它是如何工作的?我可以刷新它,以便每次给出一行时,都可以立即执行“打印行”吗?
问题2:这两行有什么区别:
for line in sys.stdin:
for line in sys.stdin.readline():
我发现他们的行为有点不同。如果我使用 ctrl+D 来终止输入,我必须在第一种情况下按 ctrl+D 两次才能真正终止。而在第二种情况下,只需一个 ctrl+D 就足够了。
【问题讨论】: