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

  FORUM HardWare.fr
  Programmation
  Python

  prog en python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

prog en python

n°1795756
bansan
Posté le 05-10-2008 à 14:12:44  profilanswer
 

Bonjour,
J'ai 2 fichiers sous linux du nom de passwd et group
 
J'aimerais ecrire une fonction en python dont le role est de retourner la liste contenant l'ensemble des groupes dont fait partie l'utilisateur
 
voila ce que j'ai commencé mais a priori il manque quelque chose pour que ca marche
Si qqun pouvait m'eclairer
Merci
 
 
 
try:
fichier = open("/root/olivier/passwd","r" )
file_group = open("/root/olivier/group","r" )
 
except IOError:
print "fichier introuvable"
 
else:
try:
for line in fichier :
for ligne in file_group:
utilisateur = line.split(":" )
group = ligne.split(":" )
 
print utilisateur
# if utilisateur[4]==group[3]:
 
except IOError:
print "lecture impossible"
 
 
file_group.close()
fichier.close()

mood
Publicité
Posté le 05-10-2008 à 14:12:44  profilanswer
 

n°1795773
suizokukan
Posté le 05-10-2008 à 16:15:34  profilanswer
 

Avec les balises qui vont bien, ça donnerait :
 

Code :
  1. try:
  2. fichier = open("/root/olivier/passwd","r" )
  3. file_group = open("/root/olivier/group","r" )
  4. except IOError:
  5. print "fichier introuvable"
  6. else:
  7.   try:
  8.     for line in fichier :
  9.         for ligne in file_group:
  10.             utilisateur = line.split(":" )
  11.             group = ligne.split(":" )
  12.             print utilisateur
  13.             # if utilisateur[4]==group[3]:
  14.   except IOError:
  15.     print "lecture impossible"
  16.     file_group.close()
  17.     fichier.close()


 
Quelque chose dans ce genre ? Et peux-tu nous dire sur quoi tu butes ? Un message d'erreur, peut-être ?


Message édité par suizokukan le 05-10-2008 à 16:27:16

---------------
rule #1 : trust the python
n°1797693
gzii
court-circuit
Posté le 09-10-2008 à 13:27:20  profilanswer
 

Déjà je ne comprends pas pourquoi il prend l'utilisateur dans la boucle ligne au lieu de le prendre dans la boucle du dessus.
 
Sinon le petit prog est visiblement incomplet. Pourquoi ?
Quel est le format des fichiers en entrée ? (ça doit être connu mais pas par moi).
Oui il manque quelque-chose :
Pourquoi le test est en commentaire ?
Pourquoi on ne fait rien s'il y a égalité ? (pas d'intérieur du test)

n°1797777
masklinn
í dag viðrar vel til loftárása
Posté le 09-10-2008 à 14:57:59  profilanswer
 

Perso je voudrais savoir pourquoi il s'emmerde à manipuler directement passwd et group alors qu'il a le module grp qui lui donne une liste de (group_name, group_pwd, group_id, [group_members]) (via getgrall()) et si il en a vraiment besoin pwd qui s'interface sur passwd.

 

Non parce que trouver les groupes auquel appartient un user (quand on a son username), ça donne ça:

Code :
  1. from grp import getgrall
  2.  
  3. username = 'whatever'
  4. print [groupname for (groupname, _, _, users) in getgrall() if username in users]


nb: j'ai pas besoin du groupid ou du pwd, donc je les colle dans _ pour m'en débarasser, Erlang-style


Message édité par masklinn le 09-10-2008 à 14:58:46

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  prog en python

 

Sujets relatifs
[Python] [Resolu]temps en abscisse pour un graphWhat's New In Python 2.6 (and 3.0?)
Porting to Python 3000: a presentationSujet sudoku en python
python-qt et qlistview[Python] SQLAlchemy, liste contenant plusieurs types
importation fichier > tableau dans pythonGUI pour prog Python : Que choisir ?
Lancer un prog python en servicecomment importer dynamiquement un nouveau module dans un prog python?
Plus de sujets relatifs à : prog en python


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