ファイル読み込み
レガシーな書き方
file = open("filename", "r")
try:
whole_str = file.read()
finally:
file.close() # finallyでcloseすべき
withブロックを使用してcloseを自動的に行う方法。(こちらを推奨)
with open("filename", "r") as file:
whole_str = file.read()
file.read([size])で指定したバイト数を読み込み。size未指定の場合はすべて読み込み。
file.readline()で1行読み込み。文字列に改行文字は残る。最後の行を読み込んだ後に””(空文字)がかえる。
file.readlines()で全行を読み込んでリストを返す。
ファイル書き込み
レガシーな書き方
file = open("filename", "w")
try:
file.write("some string")
finally:
file.close()
withブロック
with open("filename", "w") as file:
file.write("some string")
file.write(str)でファイルに書き込み
file.writelines(sequence)でファイルに複数行の文字列を書き込み。改行文字は付加しないのでシーケンス内の文字列につけておくこと。
文字コードを指定して読み書き
codecsモジュールを使う。
import codecs
with codecs.open("filename", "w", "shift_jis") as file:
file.write(u"あいうえお")
with codecs.open("filename", "r", "shift_jis") as file:
whole_str = file.read()
print whole_str