バイナリファイル


 

 バイナリファイルを開くには

バイナリーファイルを開く場合もテキストファイルの場合と同様、ビルトイン関数openを使いますが、modeパラメータに"b"を追加します。つまり、読み込みなら"rb"、書き込みなら"wb"、追加なら"ab"とします。

(例)
  f = open("data.bin", "rb")

テキストファイルの場合、"r"は省略可能でしたが、バイナリーの場合は"b"だけだとエラーになります。

 

 バイナリーファイルからデータを読むには

バイナリーファイルは、文字列の場合と違って「行」という概念がないので、readメソッドがもっぱら使用されます。readメソッドの結果は、文字列とみなされるので、バイトとして扱うときはビルトイン関数ordを使って整数値に変換します。

サンプル

# Binary file read

try :
	f = open("data.bin", "rb")
	while 1 :
		b = f.read(1)
		if b == "" :
			break
		print ord(b)
	print "Done."
except :
	print "file error"
 

 

 バイナリーファイルにデータを書くには

読み込みのときと同様にバイナリーファイルは、文字列の場合と違って「行」という概念がないので、writeメソッドがもっぱら使用されます。writeの引数は文字列とみなされるので、バイトデータをビルトイン関数chrによって文字に変換して使用します。

サンプル

# Binary file write

try :
	f = open("data.bin", "wb")
	for i in range(0, 16) :
		f.write(chr(i))
	f.close
	print "Done."
except :
	print "file error"