Всем известно, как считать символы из STDIN в C. Однако, когда я пытался это сделать в 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.readline на sys.stdin.read()
import sys
print(len(sys.stdin.read()))
Однако, очевидно, что программа НЕ подходит для большого ввода. Пожалуйста, дайте мне элегантное решение. Спасибо!