Lire dans le n-uplet de listes à partir de fichier texte sous la forme d'un tuple, pas de chaîne - Python
J'ai un fichier texte que je voudrais lire dans qui contient des lignes de tuples. Chaque tuple/ligne de texte est dans la forme de ('chaîne de description', [liste d'entiers 1], [liste d'entiers 2]). Où le fichier texte pourrait ressembler à quelque chose comme:
("point 1', [1,2,3,4] , [4,3,2,1])
("de l'élément 2', [ ] , [4,3,2,1])
("de l'élément 3, [1,2] , [ ])
Je voudrais être en mesure de lire chaque ligne du fichier texte, puis de les placer directement dans une fonction où,
function(string, list1, list2)
Je sais que chaque ligne est lue comme une chaîne de caractères, mais j'ai besoin d'extraire cette chaîne d'une certaine façon. J'ai essayé d'utiliser une chaîne de caractères.split(','), mais qu'elle est dans des problèmes, quand j'appuie sur les listes. Est-il un moyen pour accomplir ou devrai-je modifier mes fichiers texte certains comment?
J'ai aussi un fichier texte en une liste de tuples que je voudrais lire dans de la même façon qui ont la forme de
[(1,2),(3,4),(5,6),...]
qui peut contenir n'importe quelle quantité de n-uplets. Je voudrais le lire dans une liste et de faire une boucle pour chaque tuple dans la liste. Je l'ai trouver ces deux-là vont utiliser à peu près le même processus.
OriginalL'auteur Das.Rot | 2011-01-28
Vous devez vous connecter pour publier un commentaire.
Que sur l'utilisation de
eval
?MODIFIER Voir @Ignacio réponse à l'aide de
ast.literal_eval
.Je ne recommande pas de faire cela que si vous êtes sûr à 100% du contenu du fichier.
Voir @Ignacio réponse... beaucoup, beaucoup plus sûr.
L'application de l'utilisation de l'ast donnerait:
OriginalL'auteur sberry
Vous êtes à la recherche pour
ast.literal_eval()
.Je devrais probablement l'ai mentionné, je suis en cours d'exécution Python 2.3, est-ce pour une version ultérieure? Je ne peux pas trouver ast module.
Malheureusement, il est.
Regarde comme il est de 2,6+. Si vous êtes certain que sur le contenu, puis
eval
fonctionne.ok, merci! Ressemble eval fera l'affaire!
OriginalL'auteur Ignacio Vazquez-Abrams
Vous pouvez également regarder la cornichon module pour l'enregistrement des objets python pour les fichiers de texte et de lecture.
OriginalL'auteur