11

独学のPython愛好家として、標準形式を使用してバイナリファイルをインポートおよびエクスポートする方法を学ぶにはどうすればよいですか?

ePub電子ブック(zip形式のXHTML + CSS)を取得し、Amazon Kindleが読み取れるように(私が作成したより大きなプロジェクトの一部として)mobipocket(Palmdoc)形式に変換するスクリプトを実装したいと思います。 m作業中)。

電子ブックライブラリを管理するための素晴らしいオープンソースプロジェクトがすでにあります:Calibre。これを自分で学習・自習としてやってみたかったのです。私は彼らのPythonソースコードを見始め、何が起こっているのかわからないことに気づきました。もちろん、独学で何かを学ぶことの大きな危険は、あなたが知らないことを知らないことです。

この場合、私はこれらのバイナリファイルとPythonコード(構造体?)でそれらを操作する方法についてあまり知らないことを知っています。しかし、私はおそらくバイナリファイル全般について多くの知識を欠いていると思います。それらの操作方法を理解するのに役立つ情報が欲しいです。 これは、mobi/palmdocヘッダーの詳細な概要です。ありがとう!

編集:間違いありません、良い点です!バイナリファイルの操作に関する基本的な知識を習得するためのヒントはありますか?Python固有が役立つでしょうが、他のアプローチも役立つ可能性があります。

TOM:質問として編集、イントロ/より良いタイトルを追加

4

3 に答える 3

10

質問で指摘したように、おそらくstructモジュールから始めて、もちろん、ファイルをバイナリとして開く必要があります。

基本的には、ファイルの先頭から始めて、ファイルを1つずつ選択します。面倒ですが、大きな問題ではありません。ファイルが圧縮または暗号化されている場合、事態はさらに困難になる可能性があります。内容を知っているファイルから始めると、いつも推測する必要がないので便利です。

少し試してみてください。そうすれば、より具体的な質問を発展させることができるかもしれません。

于 2009-06-09T02:19:37.543 に答える
2

バイナリファイルを作成して分析する場合、structモジュールは基本的なツールを提供しますが、特に整数バイトではないものを調べたい場合は、あまり使い勝手がよくありません。

BitVectorbitarraybitstringなど、役立つモジュールがいくつかあります。(私はビット文字列を好みますが、私はそれを書いたので、偏っている可能性があります)。

バイナリ形式の解析には、 hachoirモジュールは非常に優れていますが、現在のニーズには高すぎると思われます。

于 2009-06-09T14:08:27.377 に答える
0

バイナリファイルで動作するPythonツールを自分で学ぶために、 これでうまくいきます。楽しいです。バイナリ、zip、画像を使った演習...もっとたくさん。

于 2009-06-09T13:50:12.843 に答える