16

画像ファイルを開いて、16 進数値をバイト単位で追加できるようにしたい。これを行う方法がわかりません.「pythonバイト編集」と「pythonバイト配列」をグーグルで検索しても、驚くべきことに何も思いつきませんでした。誰かが私が使用する必要があるライブラリ、Google で検索できる特定の方法、またはチュートリアル/ガイドを教えてもらえますか?

4

4 に答える 4

13

Python 標準ライブラリには、まさにこれを行うために使用できる mmap モジュールがあります。詳細については、ドキュメントを参照し てください。

于 2009-08-24T13:50:13.193 に答える
11

やりたいことによっては、ファイルをバイナリ モードで開き、通常のファイル関数でデータを読み取るだけで十分な場合があります。

# 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)

dataPython は、文字列に「バイナリ」データまたは「テキスト」データが含まれているかどうかはあまり気にしません。妥当なサイズのファイルに単純な変更を加えるだけの場合は、おそらくこれで十分です。

于 2009-08-24T13:51:39.167 に答える
5

Hachoir フレームワークは、バイナリ ファイルを解析および編集するための Python ライブラリとツールのセットです。

http://pypi.python.org/pypi/hachoir-core

一般的なファイルタイプの知識があるため、これはまさに必要なものかもしれません.

于 2009-08-24T13:47:51.870 に答える
1

スタクトモジュールをチェックしてください。

このモジュールは、Python 値と Python 文字列として表される C 構造体との間の変換を実行します。C 構造体のレイアウトと Python 値との間の意図した変換のコンパクトな説明として、フォーマット文字列 (以下で説明) を使用します。これは、ファイルに格納されたバイナリ データやネットワーク接続などのソースを処理する際に使用できます。

于 2009-08-24T17:09:37.177 に答える