Bonjour,
Je suis nouveau dans le python, et plus généralement dans la prog orienté objet ^^. Je suis en train de faire un petit programme pour parser des logs et inscrire le résultat dans un fichier excel.
Grosso modo j'ai crée une fonctions par type de fichier à verifier ex: checkmedia(pathfile) l'argument dans ces fonction est tout simplement le répertoire du dis fichier.
Le but est d'utiliser après ces fonctions pour scanner via une boucle les différents dossiers, et répercuter le retour de la fonction ( qui est une liste ) dans deux cases du tableau excel.
Vu que nous avons différents répertoires et que ce n'est pas toujours les mêmes fichiers dans les répertoires, je me suis dis que j'allais travailler avec des listes, en faisant un système de liste de serveur avec les différents répertoires correspondant à chaque serveurs + les coordonnées des lignes excel pour chaque serveur. Et une troisieme liste avec les fonctions à appliquer par type de serveur.
ça donne à peut pres ça :
Bon le programme n'est pas fini mais ça bloque là, en fait d’après ce que j'ai pu voir et comprendre quand je crée les listes avec les jobs à l'intérieur, celles ci s’exécute à ce moment là ... le truc c'est que je voudrais qu'elle s’exécute dans la boucle de la fonction "checkitforme" car c'est dans cette boucle là que l'argument de ces fonction (chmin) est complété ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 # -*- coding: latin-1 -*- import os,time,win32com.client chmin= "O:/dossier1/Log/" #importation des fonctions from checkmedia import * from checkptlftp import * from checkrestore import * from checksav import * from checkclient import * from checkcopy import * from checkgback import * from checkload import * #programme principale de checklog4me #nom de la feuille excel nomdlf=time.strftime('%d%m%Y',time.localtime()) filexls='c:/python32/Controle_log_semaine_120312.xls' xl=win32com.client.Dispatch("Excel.Application" ) xl.Visible = True openfile=xl.workbooks.open(filexls) slctsh=openfile.sheets(nomdlf) #liste des différents jobs possible llomme=[checkmedia(chmin),checkload(chmin),checksav(chmin),checkcopy(chmin),checkgback(chmin),checkrestore(chmin),checkptlftp(chmin)] # #il y a d'autre liste ici mais vais pas flooder non plus # lvadweb=[checkmedia(chmin),checkload(chmin),checkcopy(chmin),checkgback(chmin),checkrestore(chmin),checkclient(chmin)] #liste des repertoires / coordonée des lignes lsrvlomme=[("1 - Lomme",5)] # #il y a d'autre liste ici mais vais pas flooder non plus # lsrvvadweb=[("2741 - VAD",169),("2746 - WEB",178)] #fonction pour checking def checkitforme(lsrv,ljobs): for path,nbligne in lsrv: i=0 chmin= chmin + path while i<len(ljobs) : rep=ljobs[i] slctsh.Cells(nbligne,4).Value = rep[0] slctsh.Cells(nbligne,5).Value = rep[1:] i+=1 nbligne+=1 checkitforme(lsrvvadweb,lvadweb) #fermeture et sauvegarde du fichier excel
Je ne sais pas si je suis clair ... j'ai essayé de m'amuser avec les variable globale pour régler le problème du chemin mais cela n'a pas l'air de fonctionner ...
Si vous avez deux trois éclaircissement cela m'aiderais beaucoup
Partager