Python の open 関数について

open 関数とは

Python の 組み込み関数の 1 つでファイルの操作に利用します。
主にファイルの作成、書き込み、読み込み、保存等に使用します。

実行例

次のコードを実行すると、test.txt が作成されます。

f = open('test.txt', 'w', encoding='utf-8')
f.write('新規ファイルに書き込む文章')
f.close()

test.txt の中身は次のとおりです。

新規ファイルに書き込む文章

解説

open 関数

コードの記述方法は、次のとおりです。

open(ファイル名, モード, エンコーディング)

モードは、主に以下があります。

モード内容
w書き込み用に開き、既存ファイルがある場合は上書き
a書き込み用に開き、既存ファイルがある場合は末尾に追記
r読み込み用に開く
bバイナリモード

書き込みモードを w に指定した際、既存ファイルがない場合は新規ファイルが自動作成され、既存ファイルがある場合は上書きされます。

write 関数

コードの記述方法は、次のとおりです。

ファイルオブジェクト.write(書き込みたいテキスト)

上記で作成した test.txt に、追加で複数行の文章を書き込む場合は、次のようになります。

f = open('test.txt', 'a', encoding='utf-8')
w_text = '''text.txt に追加で複数行の文章を入力したい場合は、
このような記述になります。
'''
f.write(w_text)
f.close()
print 関数を利用したファイルへの書き込み

write 関数を使わず、print 関数でファイルへ書き込むこともできます。
コードの記述方法は、次のとおりです。

print(書き込みたい文章、file=ファイルオブジェクト)

次のように print 関数で書きたい文章とファイルを指定すると、ファイルへ書き込めます。

f = open('test.txt', 'w', encoding='utf-8')
w_text = '''text.txt に追加で複数行の文章を入力したい場合は、
このような記述になります。
'''
print(w_text, file=f)
f.close()

print 関数を使用すると、次のように複数の文章をつなげたりできます。

print('文章1', '文章2', '文章3', sep='|', end=';', file=f)
文章1|文章2|文章3;
close 関数

open 関数でファイルを操作した後は、close 関数で close 処理が必要となります。
コードの記述方法は、次のとおりです。

ファイルオブジェクト.close()

参考:dot blog

以上