バイナリファイル
バイナリファイルを開くには
バイナリーファイルを開く場合もテキストファイルの場合と同様、ビルトイン関数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" |