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 スクリプトで変更する必要があるもの。