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 :

structure de données-formattage


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut structure de données-formattage
    je lis 8 octets d'un coup avec read, read(8)
    un int bigendian, un int little, un double
    je les mets dans une liste, liste = read(8)
    on peut utiliser pack ou unpak from, cela ne fonctionne pas
    ça peut fonctionner qu'avec des int par exemple
    on tombe sur le classique pb d'ajustement des valeurs en mémoire

    même question en ajoutant des objets

  2. #2
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Premièrement, ta question est impossible à lire; vérifie que ce que tu demandes est compréhensible par quelqu'un qui n'est pas dans tes bobettes en premier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import struct
     
    fd = open('foo')
    s = fd.read(16)
    t = struct.unpack('<IId', s)
    Quelque chose comme ça. Ça lit en little endian, donc tu vas devoir convertir ton premier nombre. Et pour lire deux entiers et un double, sur une plateforme 32bits, tu as besoin de 16 bytes.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    pardon en effet, il faut 16 bytes,
    tu réponds à une question, c'est à dire que je ne peux pas lire un big suivi d'un little, genre >i<i. Dommage
    en revanche tu éludes un peu rapidement l'autre problème que j'ai simplifié, chez moi je lis 9i8d soit 36 + 64 = 100 octets, l'IDLE python me demande 104 bytes, en effet c'est une question d'alignement en mémoire, problème rencontré en langage C, mais je suis étonné de la part d'un langage de haut niveau et également de ta réponse, certes j'utilise unpak from, mais véirfie...
    ta réponse m'interesse, merci

    même question avec des objets , comment je fais pour lire plusieurs objets points dans un fichier par exemple.
    point(double x, doubley)

    je débute en python

Discussions similaires

  1. Comment créer une structure de donnée dynamiquement ?
    Par Beaunico dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 09h34
  2. Aide pour diagramme de structure des données
    Par DeezerD dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/12/2004, 19h10
  3. Méta-Programmation - [ structures de données ]
    Par Dam)rpgheaven dans le forum C++
    Réponses: 3
    Dernier message: 03/12/2004, 19h38
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10

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