Retourner aux forums || Retourner au forum Programmation.python

Programmation.python : bash -> python et conseils

Posté par stef (page perso, ) le 14 juillet 2006
0
Bonjour,

Je commence à me débrouiller pour écrire des usines à gaz en python qui ne fonctionnent pas toujours comme je le voudrais. Mais ça vient petit à petit.

Maintenant, j'aimerais que vous me donniez votre avis ou vos idées:

- existe t-il une façon simple de faire un cut avec puthon comme on le fait en shell (ex: cat /etc/passwd |cut -d ":" -f3). J'y arrive, mais 40 lignes python contre 1 en bash, je suis, AMHA, à côté de la plaque.
- Je voudrais faire un "tableau" dans un fichier de catte façon:
Utilisateur[tab]UID[tab]Occupation de /home/$user
J'arrive à quelque chose avec python, mais c'est vraiment énorme. Comment aborderiez vous le problème ? (je n'attends pas forcément du code, mais plutôt une sorte d'organigramme pour arriver au résultat)
- J'ai un programme avec une interface graphique contenant un bouton et un textLabel. Quand j'appuie sur le bouton, le nombre des secondes de l'horloge est affiché dans le textlabel avec une ligne "self.texteLabel1.setText(secondes)". Ca, ça fonctionne bien.
Je veux maintenant sousclasser mon extraction des secondes. J'importe ma classe dans mon programme principal, j'extrais bien les secondes mais je n'arrive plus à modifier le textLabel avec la commande du dessus parce que ce n'est plus du "self" , vu que c'est dans une classe extérieure. Comment dois je faire et où je me trompe ?

Merci de vos réponses

--
--
la persévérence est l'art du sage, l'obstination celui des imbéciles --
> Lire le message (5 commentaires, moyenne: 2,8).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

split ?

Posté par Antoine Reilles (Jabber id, page perso, ) le 14/07/2006 à 14:17. (lien). Évalué à 1.

pour faire "comme cut", tu devrait utiliser la fonction split sur les chaines.

Pareil pour ton "tableau", un split sur chaque ligne te permettra de le lire sans problemes

cut en python

Posté par ouah (page perso, ) le 14/07/2006 à 15:04. (lien). Évalué à 5.

> - existe t-il une façon simple de faire un cut avec puthon comme
> on le fait en shell (ex: cat /etc/passwd |cut -d ":" -f3). J'y arrive,
> mais 40 lignes python contre 1 en bash, je suis, AMHA, à côté
> de la plaque.

#! /usr/bin/python

file = open('/etc/passwd', 'r')
lines = file.readlines()

for i in lines:
print i.split(':')[2]

file.close()

Je te conseille de lire le tutorial python sur http://docs.python.org .

  • [^]Re: cut en python

    Posté par manatlan (Jabber id, page perso, ) le 16/07/2006 à 16:00. (lien). Évalué à 1.

    plus simplement :

    #!/usr/bin/python
    for line in open('/etc/passwd', 'r'):
    print line.split(':')[2]

One-liner

Posté par nono2357 () le 14/07/2006 à 16:23. (lien). Évalué à 4.

En une ligne :
[l.split(':') for l in open("/etc/passwd").read().split('\n') if l]

module csv

Posté par benoar (Jabber id, ) le 14/07/2006 à 17:06. (lien). Évalué à 3.

Pour ton 2e point, si tu veux un truc du genre "format Excel", utilises le module csv :

import csv

w = csv.DictWriter(file("monfichier.csv", ("Utilisateur", "UID", "Occupation")))
w.writerow({"Utilisateur" : "toto", "UID" : "0", "Occupation" : "42%" })

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.python