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
# split ?
Posté par Antoine Reilles (site web personnel) . Évalué à 1.
Pareil pour ton "tableau", un split sur chaque ligne te permettra de le lire sans problemes
# cut en python
Posté par ouah (site web personnel) . Évalué à 5.
> 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 (site web personnel) . Évalué à 1.
#!/usr/bin/python
for line in open('/etc/passwd', 'r'):
print line.split(':')[2]
# One-liner
Posté par nono2357 . Évalué à 4.
[l.split(':') for l in open("/etc/passwd").read().split('\n') if l]
# module csv
Posté par benoar . Évalué à 3.
import csv
w = csv.DictWriter(file("monfichier.csv", ("Utilisateur", "UID", "Occupation")))
w.writerow({"Utilisateur" : "toto", "UID" : "0", "Occupation" : "42%" })
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.