ファイル読み込みにイテレーターを使った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