home changes contents help options

151:ファイルを行単位で処理する。

ファイルからテキストデータを一行ずつ読み取るには、readline()を使う。ファイルがメモリに入るくらい小さければ、readlines()で行単位でまとめて読む方法もある。

 f = open('C:/Documents and Settings/Administrator/My Documents/input.txt','r')
 line=f.readline()
 print line
 f.close()

一行ずつ読んで、文末まで処理するには

 f = open('C:/Documents and Settings/Administrator/My Documents/input.txt','r')
 line= f.readline()
 while line:
     print line
     line=f.readline()
 f.close()
 または、
 f = open('C:/Documents and Settings/Administrator/My Documents/input.txt','r')
 while 1:
     line=f.readline()
     if not line:
           break
     print line
 f.close()

ファイルをiterator(意味わかってない)として使うとシンプル

 f = open('C:/Documents and Settings/Administrator/My Documents/input.txt','r')
 for  line in f:
     print line
 f.close()

fileinputを使うとファイルを引数として与えることが必要だが、こんなに簡単になる。

 import fileinput
 for line in fileinput.input():
     print line