Python - ファイルの書き込み

ファイルの書き込み

ファイルに書き込むためには open() 関数を使用し、引数に mode='w' を指定します。ファイルが存在しない場合は新規作成し、存在している場合は既存の内容は削除されて上書き保存されます。

ファイルの書き込みには write() 関数を使用します。ファイルを閉じる場合は、close() 関数を使用します。

f = open("sample.txt", mode="w")

f.write("Hello, World!")

f.close()
ファイルの書き込み: open()

write() 関数の引数には文字列のみ指定できます。それ以外の型を指定すると TypeError 例外が発生します。

ファイルの書き込み時にエンコーディングを指定する場合は、open() 関数の引数に encoding を指定します。encoding が指定されていない場合に使われるエンコーディングは、プラットフォームに依存します。Python で使用可能なエンコーディングの種類は、標準エンコーディングを参照してください。

f = open("sample.txt", mode="w", encoding="utf-8")
ファイルの書き込み: open()

リストを書き込み: writelines()

writelines() 関数を使用すると、リストをファイルに書き込むことができます。ただし、writelines() 関数の引数に指定できるリストは、文字列を要素とするリストのみです。

list = ['A', 'B', 'C']

f = open('sample.txt', mode='w')

f.writelines(list)

f.close()
リストを書き込み: writelines()

ファイルが存在しない場合のみ書き込み

ファイルが存在しない場合のみ新規作成し、ファイルが存在した場合は上書きを禁止するには、mode='x' を指定します。もしも mode='x' を指定して、ファイルが存在すると FileExistsError 例外が発生します。

f = open('sample.txt', mode='x')

f.write('Hello, World!')

f.close()
ファイルが存在しない場合のみ書き込み

ファイルに追記で書き込み

ファイルの末尾に追記で書き込むには mode='a' を指定します。もしもファイルが存在しない場合は、ファイルが新規作成されます。

f = open('sample.txt', mode='a')

f.write('Hello, World!')

f.close()
ファイルの追記書き込み

ファイルの先頭に書き込み

ファイルの先頭に書き込むには mode='r+' を指定します。ただし、このモードは挿入ではなく上書きで書き込まれます。

f = open('sample.txt', mode='r+')

f.write('Hello, World!')

f.close()
ファイルの先頭に書き込み

バイナリファイルの書き込み

ファイルをバイナリモードで書き込むにはモードの末尾に b を指定します。例えば、バイナリファイルに書き込む場合は mode='wb' を指定します。

bin = 'あいうえお'.encode('utf-8')

f = open('sample.bin', mode='wb')

f.write(bin)

f.close()
バイナリファイルの書き込み