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
以上