NETWORK ENGINEER BLOG

Tips and Reviews for Engineers

Python の open 関数について

open 関数とは

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

実行例

コード
f = open('test.txt', 'w', encoding='utf-8')
f.write('新規ファイルに書き込む文章')
f.close()
出力結果*1
新規ファイルに書き込む文章

解説

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

参考書籍

以上

*1:test.txt ファイルが作成されます。