IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

convertir fichier binaire en txt


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Billets dans le blog
    9
    Par défaut convertir fichier binaire en txt
    Bonjour, je cherche a convertir un fichier binaire (monfichier.per) en un fichier txt en python, mais je bloque, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with open("test.per", "rb") as f:
        byte = f.read(1)
        while byte:
            # Do stuff with byte.
            byte = f.read(1)
            print (byte)

    Ce code m'affiche des truc comme :
    b'\x00'

    Moi je voudrais du texte.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 754
    Par défaut
    Salut,

    Si votre fichier est un fichier texte, il suffirait de l'ouvrir avec le mode "r" - plutôt que "rb" en précisant éventuellement l'encoding.
    S'il est "binaire", çà veut peut être dire qu'il va falloir regrouper des octets pour les convertir en entiers, flottants,... et autres joyeusetés.
    Et comme seul vous savez comment sont "structurées" les données contenues dans le fichier, il va falloir écrire le code qui va bien (ou s'aider de bibliothèques qui mâchent un peu le boulot comme struct.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Billets dans le blog
    9
    Par défaut
    Il s'agit bien d'un fichier binaire, qui doit être convertie en fichier texte.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par sazearte Voir le message
    Il s'agit bien d'un fichier binaire, qui doit être convertie en fichier texte.
    Formulée comme ça, cette question est trop ouverte.

    Un texte est censé être imprimable (ce que n'est pas b'\x00'). Si le fichier binaire correspond bien à un texte imprimable, il est encodé avec un encodage qu'il faut connaître, deviner ou tester ('utf-8'? 'utf-16'?), et la réponse est déjà donnée par wiztricks.

    Mais si c'est autre chose: un zip, un exécutable, une image jpg, une base de données, etc..., il faut alors trouver une solution adaptée en fonction de ce que c'est.

    Autre exemple, on veut quelquefois convertir un fichier binaire de sorte qu'il puisse être transmis grâce à un fichier texte (comme le font les emails avec les pièces jointes). Il y a des solutions.

    Bref: il faut préciser!

  5. #5
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Billets dans le blog
    9
    Par défaut
    Je ne sais pas ce que contient ces fichiers, le développeur qui a conçue ce code et partie.
    Tous ce que je sais c'est que sa contient des données (entier, long, char...)

    Je ne sais même pas si c'est un fichier binaire ou compiler, si il y a un moyen de savoir ?

    J'envoie le fichier en pièce jointe au cas ou.0_Hist_CH1_20150329233201.zip


    En tous cas merci quand meme pour votre aide.

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Vous utilisez WordPerfect ? Si oui, essaye de l'ouvrir avec ce programme.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 29/06/2012, 21h37
  2. Convertir fichier TEC en TXT
    Par loca67 dans le forum Windows 7
    Réponses: 0
    Dernier message: 20/06/2011, 10h15
  3. convertir fichier binaire en chaîne de caractères
    Par spake33 dans le forum LabVIEW
    Réponses: 4
    Dernier message: 16/05/2011, 15h46
  4. [XL-2007] Code pour convertir fichier .xls en .txt
    Par christophe31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/03/2010, 14h59
  5. Réponses: 17
    Dernier message: 31/03/2009, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo