Script en python
Fermé
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
-
15 oct. 2008 à 19:28
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 20 oct. 2008 à 14:59
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 20 oct. 2008 à 14:59
A voir également:
- Script en python
- Script vidéo youtube - Guide
- Citizen code python avis - Accueil - Outils
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
2 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
20 oct. 2008 à 14:52
20 oct. 2008 à 14:52
J'aimerais ecrire une fonction liste groupe dont le role est de retourner une liste contenant l'ensemble des groupes dont fait partie l'utilisateur
Et pourquoi pas utiliser la commande "groups" ?
C'est justement fait pour ça.
Le programme suivant lance la commande 'groups' et récupère le résultat:
Ce qui donne:
Et pourquoi pas utiliser la commande "groups" ?
C'est justement fait pour ça.
Le programme suivant lance la commande 'groups' et récupère le résultat:
#!/usr/bin/python import subprocess def groups(username): myprocess = subprocess.Popen(['groups',username,],stdout=subprocess.PIPE) (sout,serr) = myprocess.communicate() line = sout.split('\n')[0] return line.split(":")[1].strip().split(" ") print groups('toto')
Ce qui donne:
['users','admins','vboxusers','fuse']
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
20 oct. 2008 à 14:59
20 oct. 2008 à 14:59
Et la version sans le sous-processus:
#!/usr/bin/python def groups(username): groups = [] f = open("/etc/group","r") for ligne in f: items = ligne.split(":") if len(items)==4: if username in items[3].strip().split(','): groups.append( items[0] ) f.close() return groups print groups('toto')