入力として 4 バイトのファイルがあり、出力したいとします。
bit + first two bytes + bit + last two bytes
追加されたビットは単なるフラグです。新しいファイルがわずか5バイト(2ビット+ 4バイト〜= 5バイト)になるように(組み込み関数のみを使用して)Pythonでこれを行うにはどうすればよいですか。
file.read(x)
などの I/O 操作についてはよく知っていますが、ビットの追加方法がよくわかりません。
編集bitarray
: Python ライブラリを使用してこの問題を解決できました。このモジュールは、私が望んでいたすべてのことをサポートしています:
- を使用して、ファイルからビット配列にバイトを読み取ります
fromfile()
- を使用してビットを追加
append(True/False)
frombytes()
Python標準struct
モジュールを使用して特定のサイズの変数を追加します。- を使用してビット配列をファイルに書き込みます(必要に応じてパディングを使用)
tofile()
python-bitstring
モジュールを使用して同様の結果を得ることができます。