1

バイナリ ファイル (.bmp や .jpg など) を読み取り、各バイナリ データを ascii に変換し、乗算 (ascii * 2 など) を行い、バイナリ形式に変換して新しいファイルに書き込みたいと考えています。

以下のようにプログラムを書きました

    filename = input("enter file to read: ")
    readfile = filename + ".bmp"
    writefilebmp = filename + '1' + ".bmp"
    fr = open(readfile,"rb");
    fwbmp = open(writefilebmp,"wb");
    bytes_read = fr.read(1024)
    for b in bytes_read:
        print(b,end='')
        data = b*2;
        fwbmp.write(data)
    fr.close()
    fwbmp.close()

しかし、私は以下のエラーが発生しています

TypeError: 'int' はバッファ インターフェイスをサポートしていません

注: 解決したら、bmp または jpeg ヘッダーをスキップするようにコードを変更します。

修正済み

    filename = input("enter file to read: ")
    readfile = filename + ".bmp"
    writefilebmp = filename + '1' + ".bmp"
    fr = open(readfile,"rb");
    fwbmp = open(writefilebmp,"wb");
    bytes_read = fr.read(20)
    for b in bytes_read:
        print(b,end='')
        data = b*2;
        fwbmp.write(bytes(data))
    fr.close()
    fwbmp.close()
4

1 に答える 1