Problème en Python
Magenti
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un script système en Python mais je ne comprends pas ce qu'il fait....
Je ne trouve pas les paramètres pour le tester.....
Si il y a quelqu'un doué en Python pour m'aider.....^^
Merci d'avance !
#!/usr/bin/python
import os, re, sys
resultats = {}
def parcours (r, e, f) :
liste = os.listdir(r)
for fichier in liste :
res3 = re.search("^\.", fichier)
if not res3 :
if os.path.isdir(r+"/"+fichier) :
parcours (r+"/"+fichier, e, f)
else :
res4 = re.search("^"+f+"$", fichier)
if res4 :
i = 0
fd = open(r+"/"+fichier)
if fd :
lignes = fd.readlines()
for ligne in lignes :
res5 = re.search(e, ligne)
if res5 : i += 1
fd.close()
if i > 0 :
if resultats.has_key(i) :
if resultats[i].has_key(r) :
resultats[i][r] += ":"+fichier
else :
resultats[i][r] = fichier
else :
resultats[i] = {}
resultats[i][r] = fichier
# Programme principal
if len(sys.argv) > 2 :
exp = sys.argv[3]
res1 = re.search("^\*(.*)", exp)
if res1 :
exp = ".*"+res1.group(1)
res2 = re.search("(.*[^\.])\*(.*)", exp)
while res2 :
exp = res2.group(1)+".*"+res.group(2)
res2 = re.search("(.*[^\.])\*(.*)", exp)
parcours(sys.argv[1], sys.argv[2], exp)
clefs = resultats.keys()
clefs.sort()
for clef in clefs :
print clef, "appariements :"
for clef2 in resultats[clef].key() :
print " ", clef2, ":", resultats[clef][clef2]
J'ai un script système en Python mais je ne comprends pas ce qu'il fait....
Je ne trouve pas les paramètres pour le tester.....
Si il y a quelqu'un doué en Python pour m'aider.....^^
Merci d'avance !
#!/usr/bin/python
import os, re, sys
resultats = {}
def parcours (r, e, f) :
liste = os.listdir(r)
for fichier in liste :
res3 = re.search("^\.", fichier)
if not res3 :
if os.path.isdir(r+"/"+fichier) :
parcours (r+"/"+fichier, e, f)
else :
res4 = re.search("^"+f+"$", fichier)
if res4 :
i = 0
fd = open(r+"/"+fichier)
if fd :
lignes = fd.readlines()
for ligne in lignes :
res5 = re.search(e, ligne)
if res5 : i += 1
fd.close()
if i > 0 :
if resultats.has_key(i) :
if resultats[i].has_key(r) :
resultats[i][r] += ":"+fichier
else :
resultats[i][r] = fichier
else :
resultats[i] = {}
resultats[i][r] = fichier
# Programme principal
if len(sys.argv) > 2 :
exp = sys.argv[3]
res1 = re.search("^\*(.*)", exp)
if res1 :
exp = ".*"+res1.group(1)
res2 = re.search("(.*[^\.])\*(.*)", exp)
while res2 :
exp = res2.group(1)+".*"+res.group(2)
res2 = re.search("(.*[^\.])\*(.*)", exp)
parcours(sys.argv[1], sys.argv[2], exp)
clefs = resultats.keys()
clefs.sort()
for clef in clefs :
print clef, "appariements :"
for clef2 in resultats[clef].key() :
print " ", clef2, ":", resultats[clef][clef2]
A voir également:
- Problème en Python
- Citizen code python avis - Accueil - Outils
- Mot secret python pix ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Ce programme est écrit en python il construit un mot secret ✓ - Forum Python
- Python par la pratique : 101 exercices corrigés pdf - Forum Python
5 réponses
c'est un programme qui fait une recherche dans les fichiers cacher d'un répertoire passer en argument certains mots.
Après, le principe du python, c'est de séparer les blocs par des indentations. Et comme tu n'utilises pas les balises de codes pour ton source, on ne sais pas trop ce qu'il fait.
Après, le principe du python, c'est de séparer les blocs par des indentations. Et comme tu n'utilises pas les balises de codes pour ton source, on ne sais pas trop ce qu'il fait.
D'accord, je vois.....mais par contre, je vois pas trop comment le tester......il me demande de rentrer 3 arguments mais j'ai essayé pleins de trucs et il prend pas..... :S
y a pas de lol.
les quatre signes au dessus du rectangle dans lequel on écrit un message, tu ne t'es pas demandé à quoi ils servent ? il suffit de passer le pointeur dessus pour lire leur légende
t'as pas l'air pressé/ée d'avancer toi
les quatre signes au dessus du rectangle dans lequel on écrit un message, tu ne t'es pas demandé à quoi ils servent ? il suffit de passer le pointeur dessus pour lire leur légende
t'as pas l'air pressé/ée d'avancer toi
Pas la peine de le prendre comme ça ! Je n'avais pas remarqué, c'est tout.
Et que ce soit indenté ou pas, Python est très compliqué à comprendre, surtout quand aucun prof n'explique clairement la chose....
Et que ce soit indenté ou pas, Python est très compliqué à comprendre, surtout quand aucun prof n'explique clairement la chose....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben si, je le prends comme ça. Et je ne dois pas être le seul. Mais les autres n'ont pas pris la peine de te le dire.
Je te signale que je ne me suis pas intéressé à ton problème justenent parce que le code n'était pas indenté. Et je ne t'ai rien dit.
Mais Char Snipeur, lui, a été assez gentil pour s'y intéresser quand même et il t'a signalé deux fois que pour bien traiter le problème on a besoin d'un code indenté, mais toi tu t'en fous, à ton troisième message on n'a toujours pas de code indenté.
Si tu n'es pas capable de trouver tout seul comment on met un code en conservant son formatage, 1- tu as du souci à te faire 2- demande. Et quand tu écris "c'est bizarre, j'ai indenté mais à l'affichage ça prend pas", on se dit que tu n'as même pas remarqué qu'il y a une touche "Prévisualiser" à coté de la touche "Valider" .
Si tu pense que «Je n'avais pas remarqué, c'est tout. » constitue une explication et une excuse , libre à toi, mais dans ce cas je pesiste à penser que tu n'es pas pressé d'avancer. Ce que je veux dire, c'est qu'au lieu de t'offusquer pour si peu, tu ferais mieux d'écouter un peu ce qu'on peut te dire et de te secouer.
Le code indenté, on ne l'a toujours pas. Pourtant je pourrais sans doute t'aider.
À bon entendeur, salut.
Je te signale que je ne me suis pas intéressé à ton problème justenent parce que le code n'était pas indenté. Et je ne t'ai rien dit.
Mais Char Snipeur, lui, a été assez gentil pour s'y intéresser quand même et il t'a signalé deux fois que pour bien traiter le problème on a besoin d'un code indenté, mais toi tu t'en fous, à ton troisième message on n'a toujours pas de code indenté.
Si tu n'es pas capable de trouver tout seul comment on met un code en conservant son formatage, 1- tu as du souci à te faire 2- demande. Et quand tu écris "c'est bizarre, j'ai indenté mais à l'affichage ça prend pas", on se dit que tu n'as même pas remarqué qu'il y a une touche "Prévisualiser" à coté de la touche "Valider" .
Si tu pense que «Je n'avais pas remarqué, c'est tout. » constitue une explication et une excuse , libre à toi, mais dans ce cas je pesiste à penser que tu n'es pas pressé d'avancer. Ce que je veux dire, c'est qu'au lieu de t'offusquer pour si peu, tu ferais mieux d'écouter un peu ce qu'on peut te dire et de te secouer.
Le code indenté, on ne l'a toujours pas. Pourtant je pourrais sans doute t'aider.
À bon entendeur, salut.
Je te trouve un peu sévère, même si sur le fond tu as raison...
C'est pôur ça que je ne répond plus : marre de demander une forme correct de code alors même que tu lui dis comment faire. Et je me suis fait une raison, la plupart des gens sont très peu observateurs.
Python est très compliqué à comprendre
Ben... non. Python est facile à comprendre, essai de faire directement du C ou C++, ou carrement de l'assembleur tu sauras ce que veux dire difficile. En plus,python est très bien documenté.
C'est pôur ça que je ne répond plus : marre de demander une forme correct de code alors même que tu lui dis comment faire. Et je me suis fait une raison, la plupart des gens sont très peu observateurs.
Python est très compliqué à comprendre
Ben... non. Python est facile à comprendre, essai de faire directement du C ou C++, ou carrement de l'assembleur tu sauras ce que veux dire difficile. En plus,python est très bien documenté.