Fichier binaire IO en python, par où commencer?
Comme un autodidacte python amateur, comment pourrais-je aller sur l'apprentissage d'importer et d'exporter des fichiers binaires à l'aide de formats standard?
J'aimerais mettre en œuvre un script qui prend ebooks ePub (XHTML + CSS dans un zip) et la convertit en un mobipocket (Palmdoc) format afin de permettre à l'Amazon Kindle pour lire (en tant que partie d'un grand projet sur lequel je travaille).
Il y a déjà un impressionnant projet open-source pour la gestion de ebook bibliothèques : Calibre. Je voulais essayer la mise en œuvre de ce sur mon propre apprentissage/auto-apprentissage de l'exercice. J'ai commencé à regarder à leur code source python et réalisé que je n'ai aucune idée de ce qui se passe. Bien sûr, le grand danger en étant autodidacte dans tout ce n'est pas de savoir ce que vous ne savez pas.
Dans ce cas, je sais que je ne sais pas beaucoup au sujet de ces fichiers binaires et comment travailler avec eux dans le code python (struct?). Mais je pense que je suis probablement manque beaucoup de connaissances sur des fichiers binaires en général et j'aimerais un peu d'aide pour comprendre comment travailler avec eux. Voici un aperçu détaillé de la mobi/palmdoc en-têtes. Merci!
Edit: Pas question, bon point! Avez-vous des conseils sur la façon d'acquérir une connaissance de base de travail avec les fichiers binaires? Python spécifique serait utile, mais d'autres approches pourraient également être utiles.
TOM:Édité comme question, a ajouté intro /meilleur titre
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Vous devriez probablement commencer avec la struct module, que vous avez évoqué dans votre question, et bien sûr, ouvrir le fichier en tant que fichier binaire.
Fondamentalement que vous venez de commencer au début du fichier et de le chercher en dehors, morceau par morceau. C'est une corvée, mais pas un énorme problème. Si les fichiers sont compressés ou cryptés, les choses peuvent devenir plus difficile. Il est utile si vous commencez avec un fichier que vous connaissez le contenu de sorte que vous n'êtes pas deviner tout le temps.
L'essayer un peu, et vous verrez peut-être évoluer des questions plus spécifiques.
Si vous voulez construire et d'analyser des fichiers binaires de la struct module va vous donner les outils de base, mais il n'est pas très sympathique, surtout si vous souhaitez regarder des choses qui ne sont pas à un nombre entier d'octets.
Il y a quelques modules qui peuvent aider, comme BitVectorbitarray et bitstring. (Je suis en faveur de bitstringmais je l'ai écrit et peut donc être biaisée).
Pour l'analyse des formats binaires le hachoir module est très bon, mais je soupçonne que c'est trop haut niveau pour vos besoins actuels.
Pour enseigner vous-même python outils qui fonctionnent avec des fichiers binaires,
cela vous va. Amusant aussi. Exercices avec les fichiers binaires, les zips, les images... beaucoup plus.