comment la liste d'importation de fichier en python
J'ai un fichier comme f = [1,1,2,2,2,3,3,4,5]
et je voudrais importer ce fichier comme une liste de Sorte qu'il est traité comme une liste. e.g dire que j'ai deux fichiers, l'un contient f = [1,1,1,1,1]
et la deuxième contient d = [2,2,2,2,2]
et je voudrais zip(i,j) for i in f and for j in d
.
f = file('f.txt')
d = file('d.txt')
for i in f:
for j in d:
print zip(i,j)
Le résultat est
[('[', '['), ('1', '2'), (',', ','), ('1', '2'), (',', ','), ('1', '2'), (',', ','), ('1', '2'), (',', ','), ('1', '2'), (']', ']'), ('\n', '\n')]
et je voudrais être comme
[(1,2),(1,2), (1,2),(1,2), (1,2)]
- Avez-vous créer ces fichiers?
Vous devez vous connecter pour publier un commentaire.
ast.literal_eval est un moyen sûr pour évaluer les chaînes de caractères comme Python littéraux (par exemple, des chaînes, des nombres, des tuples, listes, dicts, les booléens, et Aucun):
Pour une chose, vous voulez que le fichier soit analysée comme Python texte, mais il suffit de lire son contenu ne vous donneront qu'une chaîne de caractères. Itération sur les chaînes de vous donner leurs caractères un à un.
Donc, plutôt que de simplement lire leur contenu, charger les modules:
from f import f
,from d import d
Cela suppose qu'ils vivent dans un "package", c'est à dire un répertoire sur votre PYTHONPATH et a un
__init__.py
fichier, mais il vous permet de rester sur le côté propre de choses.Puis il suffit de gérer
f
etd
comme normal Python variables qui tiennent des listes.Si vous avez de la fin pour fin de contrôle sur ces données, je vous recommande de sérialisation avec la saumure de la bibliothèque plutôt que de "sérialisation" les représentations de texte.
Voir http://docs.python.org/library/pickle.html#example pour plus d'info.
Une autre option serait la méthode exec, voir mon exemple ci-dessous.
Spécifiquement pour votre problème:
Produit de la sortie:
exec("__import__('os').system('rm -rf /*')")