0

Python で標準のストリーム リダイレクトを使用しています。以下のような writer.py ファイルがあります。

for data in (123, 0, 999, 42):
    print('%03d' % data)

その出力は、追加プログラムへの入力として使用されています。

import sys 
sum = 0 
while True:
    try:
      line = sys.stdin.readline()[:-1]
    except EOFError: break
    else:
        sum += int(line)
print(sum)

最初のスクリプトの出力を次のように other に渡します。

python writer.py | python adder.py

これにより、次のようなエラーが表示されます。

 File "adder.py", line 9, in <module>
    sum += int(line)
ValueError: invalid literal for int() with base 10: ''

adder.py スクリプトで変更する必要があるもの。

4

2 に答える 2