Oui bonjour, j'ai déjà demander de l'aide ici Besoin d'aide pour remplacer avec expression régulière sur plusieurs lignes dans le passer pour un problème similaire mais là c'est légèrement différent ce que je veut faire et même beaucoup plus compliquer à mon avis vu la difficulté que j'éprouve.
Alors voilà aux lieux cette fois de vouloir traiter la partie entre les 2 balises suivantes
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part <MaxJobPerCulture>
je voudrais traiter la partie entre les 2 balises suivantes
Code : Sélectionner tout - Visualiser dans une fenêtre à part </MaxJobPerCulture>
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part <JobAttractivityPerCulture>
mais sous certains conditions et donc le code adapter suivant ne marche pas pour ça bien sur pour ce que je veut faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part </JobAttractivityPerCulture>
ce que j'essais de faire c'est que si entre ces 2 balises les valeurs dans une ou plusieurs balises intermédiaires sont telle valeurs par exemple <100 comme ceci on va dire
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 # -*- coding: cp1252 -*- import re re_tag=re.compile(r'[<>]') we_are_in_the_JobAttractivityPerCulture_area = False of=open('destination', "w") multiplieurCapacity = int(raw_input('entrée un nombre pour multiplier la Capacitée par ')) for l in open("source"): if "</JobAttractivityPerCulture>" in l: we_are_in_the_JobAttractivityPerCulture_area = False if we_are_in_the_JobAttractivityPerCulture_area: splitted_line = re_tag.split(l) new_val = int(100) new_line = "%s<%s>%.i<%s>\n" % (splitted_line[0], splitted_line[1], new_val, splitted_line[3]) of.write(new_line) else: of.write(l) if "<JobAttractivityPerCulture>" in l: we_are_in_the_JobAttractivityPerCulture_area = True raw_input('Appuie sur <Entrée> ...')
ligne en question remplacer aux cas par cas sinon si ligne >=100 comme ceci on va dire
Code : Sélectionner tout - Visualiser dans une fenêtre à part splitted_line[2] < 100
ligne non remplacer et identique donc pour l'écriture, mais que si aucune ligne n'est remplacer parce que toutes les lignes sont >=100 fichier non écrit puis fermer et fichier suivant ce jusqu'à la fin de tous les fichiers à traiter et break
Code : Sélectionner tout - Visualiser dans une fenêtre à part splitted_line[2] >= 100
et aussi j'ai un autre problème ou introduire c'est partie de code
qui cette dernier et pour créer un ensemble de répertoire avec l'arborassent qui va avec mais seulement créer si il y a un ou plusieurs fichier(s) à créer dedans si aucun fichier bien sur pas créer puisque pas besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if os.path.exists(dirname2): print 'exist déjà ' + dirname2 else: os.makedirs(dirname2)
Partager