入力として 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モジュールを使用して同様の結果を得ることができます。