Python - バイナリーファイルの入出力(書込、読込)

公開日:2019-04-17 更新日:2019-05-14
[Python]

1. 概要

バイナリーファイルの入出力(書込、読込)を行います。

関連記事
バイナリーの操作(bytes)
文字列と文字コードの変換(エンコード、デコード)

2. バイナリーファイルの入出力

バイナリーファイルを扱う場合は、mode に「b」をつけます。
write() の引数、read() の戻り値は、bytes になります。

#ファイル書き込み
f = open("test.txt", mode = "wb")
f.write(b"ABCDEFG")
f.close

#ファイル読み書き
with open("test.txt", mode = "rb") as f:
	data = f.read()

#結果表示
for b in data:
	print(b, end=" ")

print("")

for b in data:
	print(chr(b), end=" ")
65 66 67 68 69 70 71
A B C D E F G

3. テキストファイルをバイナリで読み込んで復元

テキスト形式で書き込んだファイルを、バイナリー形式で読み込んで、元の文字列に復元します。

#テキストファイル書き込み
with open("test.txt", mode = "w", encoding="utf-8") as f:
	f.write("あいうえお")
	f.close

#バイナリーファイル読み込み
with open("test.txt", mode = "rb") as f:
	data = f.read()

s = data.decode("utf-8")
print(s)

あいうえお