2010-09-04 9 views
0

Je travaille sur un projet qui utilise des fichiers de données d'un autre programme. Ma première tentative de lecture des fichiers a été d'ouvrir l'un des fichiers en mode binaire, de lire les 100 premiers octets et d'imprimer les données sur le terminal. Je ne suis pas sûr de savoir comment déchiffrer les données qui ont été affichées. La sortie que je suis arrivé était:Lire des fichiers de données en python 3.1

b'URES\x04\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x03\t\x00c\x01\x00\x00\x0c#\x00\x00\x02\x1b\x00\x00\x00Y\x00\x00\x00\x08\x98"\x00\x00t\x00\x00\x00\x01\'\x01\x00\x00z$\x00\x00\x04,\xa7\x00\x00\xa1%\x00\x00\x05\x0b\x00\x00\x00o$\x00\x00\n\x11\x00\x00\x00\xcd\xcc\x00\x00\x0b\xf8\x00\x00\x00\xde\xcc\x00\x00\x0c\x19\x00\x00' 

Je l'avais remarqué une autre question sur un débordement de pile qui a mentionné les fichiers URES, mais je me demandais comment on pourrait s'y prendre pour déterminer comment lire les données de ce type de fichier.

Répondre

1

Votre meilleur pari est de travailler en amont: en savoir plus sur le programme qui a créé ces fichiers. Trouvez la personne qui maintient ce programme et demandez-lui. Recherchez d'autres programmes qui consomment ces données. À tout le moins, vous allez devoir nous aider en nous disant ce que vous savez de ces données: qu'est-ce que c'est censé être? Dans quel domaine travaillez-vous? Forage pétrolier? Médicament? La finance? Dessins d'architecture? Donnez-nous un indice.

+0

Le programme avec lequel je travaille est une bibliothèque électronique, et chaque fichier contient un des livres de la bibliothèque. Il a été écrit à l'origine pour Windows et j'étais juste curieux de voir si je pouvais écrire un programme sur une machine Linux capable de lire les fichiers de données, et créer une nouvelle interface utilisateur fonctionnant sous Linux. C'est juste un projet sur lequel je travaille pour le plaisir. – genxtech

0

Le plus important est de trouver quel type de fichier c'est. Je n'ai jamais entendu parler de quoi que ce soit commençant par URES, et une recherche rapide sur google n'indique rien non plus. Vous avez plus d'informations que nous faisons, donc je suggère une recherche combinant le nom de l'autre programme, et toutes les autres informations pertinentes que vous avez, et voyez si vous pouvez trouver une description du format de fichier.

Lorsque vous avez une description, il suffit de découper l'entrée en morceaux de taille correcte et de l'interpréter en fonction de la description. Pour cela, le module struct est probablement votre ami.