Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1357 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [PYTHON2] Lire une liste dans un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PYTHON2] Lire une liste dans un fichier

n°1430291
Profil sup​primé
Posté le 21-02-2019 à 15:15:55  answer
 

Bon j'avoue que je seche (newb en Python)   [:zedlefou:1]  
Je precise: python 2.7.5
J'ai des fichiers dans le format suivant (tout sous Linux, donc pas de crlf):

[['user1', 'user2', 'user3'], ['groupe1', 'groupe2', 'groupe3']]


 
Donc en gros, une liste avec dedans deux listes... Rien de tres excitant... Sauf que python ne veut pas lire le fichier correctement et le remettre dans une liste  [:wam]
 
A chaque fois, il met dans un string... J'ai essaye:

file = open(filename, "r" )
mylist = list(file)
for a in mylist:
    print 'a', a


 
Ca me retourne:

[['user1', 'user2', 'user3'], ['groupe1', 'groupe2', 'groupe3']]


 
 
J'ai essaye:

for line in file.read():
    print line


 
Ca me retourne:

[
[
'
u
s
e
r
1
...etc


 
Puis:

arf = [current_place.rstrip() for current_place in file.readlines()]
print arf


Qui me retourne un bidule avec des double quotes  [:theepsilon]  

["[['user1', ...


 
 
Sur Google, ca semble si simple... Help!  [:ktulu]

mood
Publicité
Posté le 21-02-2019 à 15:15:55  profilanswer
 

n°1430313
Profil sup​primé
Posté le 22-02-2019 à 07:57:51  answer
 

Je m'auto-répond  :o
 

#!/usr/bin/env python
 
import ast
 
replist=[]
with open('monfichier', 'r') as f:
    replist = ast.literal_eval(f.read())
 
users  = list(replist[0])
groups = list(replist[1])
 
print users
print groups


 
J'ai entendu beaucoup de mal de ast.literal_eval, mais dans mon cas je controle la source, donc...    [:tenaka:5]  

n°1430338
kaari
Fuck Yeah !
Posté le 22-02-2019 à 12:51:32  profilanswer
 

Oui, c'est une bad practice. Le contenu de ton fichier est une syntaxe valide pour soit du yaml, soit du json. Donc essayé plutôt de parser depuis ce format :o
 
Ps: pourquoi python 2.x ?


Message édité par kaari le 22-02-2019 à 12:52:11

---------------
Mon topic ventes ;)
n°1430346
l0ky
Posté le 22-02-2019 à 14:11:09  profilanswer
 
n°1430623
Profil sup​primé
Posté le 28-02-2019 à 15:21:02  answer
 

Alors: oui, bad practice, mais vu que je controle la source, je n'ai pas le temps d'investiguer plus... :/  C'est pas mon genre mais sur ce combat-ci, je ne pige pas trop pourquoi il ne lit pas correctement le fichier.
 
 
Pourquoi pas python3? Simplement parce que c'est un script cross-platform qui va aussi tourner sur du legacy (Redhat 5, Solaris 10, HP-UX...) donc python 2  ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [PYTHON2] Lire une liste dans un fichier

 

Sujets relatifs
Perl - Hash et listePerte d'un fichier xls juste ouvert avec Libre Office
Accès 'denied' à un fichier dont je suis propriétaireecrasement de fichier sur une memoire flash .
mettre automatiquement des droits à un fichier dans un répertoireDebian 9 problème fichier source & dépots
slinuxjjhjMailing liste connecté a Gmail
[Résolu] Effacer un certain type de fichier dans toute l’arborescence.rediriger session telnet vers fichier
Plus de sujets relatifs à : [PYTHON2] Lire une liste dans un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR