#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
for i in file('/etc/passwd','r'):
login=i.split(':')[0] # on récupère le login
shellus=i.split(':')[6] # on récupère le shell complet utilisateur
shellus2=str(shellus.split('/')[2]) # on récupère le shell utilisateur
if shellus2 == 'bash' :
shellact="bash"
else:
shellact="autre"
print login,shellus2,shellact
Je n'arrive pas à comprendre pourquoi ma comparaison est toujours fausse.
Quand je fais un print de shellus2, jai bien "bash" qui s'affiche, mais quand je le compare à "bash", c'est toujours le else qui passe.
J'ai essayé en mettant str(shellus2), mais pas moyen...
Ca me stresse, parce qu'en bash ça me prendrait une poignée de secondes pour que ça fonctionne...
Une idée?
[^] # Re: Chez moi ça marche...pas
Posté par mberro . En réponse au message Comparaison de variables avec python. Évalué à 1.
#!/usr/bin/env python # -*- coding: iso-8859-15 -*- for i in file('/etc/passwd','r'): login=i.split(':')[0] # on récupère le login shellus=i.split(':')[6] # on récupère le shell complet utilisateur shellus2=str(shellus.split('/')[2]) # on récupère le shell utilisateur if shellus2 == 'bash' : shellact="bash" else: shellact="autre" print login,shellus2,shellactJe n'arrive pas à comprendre pourquoi ma comparaison est toujours fausse. Quand je fais un print de shellus2, jai bien "bash" qui s'affiche, mais quand je le compare à "bash", c'est toujours le else qui passe. J'ai essayé en mettant str(shellus2), mais pas moyen... Ca me stresse, parce qu'en bash ça me prendrait une poignée de secondes pour que ça fonctionne... Une idée?