サイトアイコン Python Snippets

ファイル読み書き file open read write

ファイル読み込み

レガシーな書き方

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
関連記事:

モバイルバージョンを終了