【发布时间】:2014-01-15 23:18:40
【问题描述】:
每个人都知道如何在 C 中计算来自 STDIN 的字符。但是,当我尝试在 python3 中这样做时,我发现这是一个难题。 (counter.py)
import sys
chrCounter = 0
for line in sys.stdin.readline():
chrCounter += len(line)
print(chrCounter)
然后我尝试通过
测试程序python3 counter.py < counter.py
答案只是第一行“import sys”的长度。事实上,程序只从标准输入读取第一行,并丢弃其余的。
如果我用 sys.stdin.read() 代替 sys.stdin.readline 就可以了
import sys
print(len(sys.stdin.read()))
但是,很明显,该程序不适合大输入。请给我一个优雅的解决方案。谢谢!
【问题讨论】: