画像ファイルを開いて、16 進数値をバイト単位で追加できるようにしたい。これを行う方法がわかりません.「pythonバイト編集」と「pythonバイト配列」をグーグルで検索しても、驚くべきことに何も思いつきませんでした。誰かが私が使用する必要があるライブラリ、Google で検索できる特定の方法、またはチュートリアル/ガイドを教えてもらえますか?
4 に答える
Python 標準ライブラリには、まさにこれを行うために使用できる mmap モジュールがあります。詳細については、ドキュメントを参照し てください。
やりたいことによっては、ファイルをバイナリ モードで開き、通常のファイル関数でデータを読み取るだけで十分な場合があります。
# load it
with open("somefile", 'rb') as f:
data = f.read()
# do something with data
data.reverse()
# save it
with open("somefile.new", 'wb') as f:
f.write(data)
data
Python は、文字列に「バイナリ」データまたは「テキスト」データが含まれているかどうかはあまり気にしません。妥当なサイズのファイルに単純な変更を加えるだけの場合は、おそらくこれで十分です。
Hachoir フレームワークは、バイナリ ファイルを解析および編集するための Python ライブラリとツールのセットです。
http://pypi.python.org/pypi/hachoir-core
一般的なファイルタイプの知識があるため、これはまさに必要なものかもしれません.
スタクトモジュールをチェックしてください。
このモジュールは、Python 値と Python 文字列として表される C 構造体との間の変換を実行します。C 構造体のレイアウトと Python 値との間の意図した変換のコンパクトな説明として、フォーマット文字列 (以下で説明) を使用します。これは、ファイルに格納されたバイナリ データやネットワーク接続などのソースを処理する際に使用できます。