pythonでのファイルオープン数の上限エラー回避
普段使っているスクリプトで以下のようなエラーが出た。
IOError: [Errno 24] Too many open files: 'input.txt'
このスクリプトにはforで複数回openするコードが入っており、今回は特に幾千万レベルを回す処理だったため、上限に引っかかったようだ。
for n in N: for line in open('input.txt', 'r'): print line
上限を外すことで解決する方法もあるようなのだけど、よく分かってない初心者が根の方を弄るのはやばいと思い、スクリプト側で何とかする事にした。
そういえば最初に読んだpython教本に、開いたら閉じなさいって書いてあったなあ……と思い出し、毎回閉じるようにしたら通った。
for n in N: f = open('input.txt', 'r') for line in f: print line f.close()