ファイル読み込みにイテレーターを使ったPythonプログラムを書いてみた。
(プログラム) iter_read.py
import sys
def read_file(file):
with open(file) as f:
for line in f:
yield line
if __name__ == '__main__':
file = sys.argv[1]
iter = read_file(file)
while True:
try:
data = next(iter)
print(data, end='')
except StopIteration:
# イテレーターの読み込みデータが尽きれば、例外が発生する
break
(読み込みファイル) lang.txt
Python Ruby JavaScript
(実行結果)
$ python iter_read.py lang.txt Python Ruby JavaScript