每个人都知道如何计算C中STDIN中的字符.但是,当我尝试在python3中执行此操作时,我发现它是一个谜题.(counter.py)
import sys
chrCounter = 0
for line in sys.stdin.readline():
chrCounter += len(line)
print(chrCounter)
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过测试程序
python3 counter.py < counter.py
Run Code Online (Sandbox Code Playgroud)
答案只是第一行"import sys"的长度.实际上,程序只读取标准输入的第一行,并丢弃其余部分.
如果我用sys.stdin.read()代替sys.stdin.readline它将会工作.
import sys
print(len(sys.stdin.read()))
Run Code Online (Sandbox Code Playgroud)
但是,很明显,该程序不适合大量输入.请给我一个优雅的解决方案.谢谢!