Comparaison de deux fichiers

Comparaison de deux fichiers - Python - Programmation

Marsh Posté le 28-04-2009 à 14:41:07    

Bonjour,
 
Je vous expose ma problématique : le but du script est de mettre des fichiers de configuration à jour pour une application. J'ai donc deux fichiers : C:\maj\server.cfg et C:\monappli\server.cfg.
Avant d'insérer le contenu de mon fichier C:\maj\server.cfg dans C:\monappli\server.cfg je voudrais vérifier si les champs sont présents. Voici comment se présente mon fichier C:\maj\server.cfg

Code :
  1. #C:\maj\server.cfg
  2. mavariable = mavaleur
  3. mavariable2 = mavaleur2


 
Ce que je veux, c'est que le script vérifie si la variable du fichier C:\maj\server.cfg est présente dans le fichier C:\monappli\server.cfg. Il faut uniquement que je vérifie la présence de la variable et non de la valeur....Je n'ai absolument aucune idée de comment procéder :((
 
Merci pour votre aide.

Reply

Marsh Posté le 28-04-2009 à 14:41:07   

Reply

Marsh Posté le 28-04-2009 à 14:53:44    

T'as pas de sections?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-04-2009 à 14:59:00    

De sections ?  
En fait c'est un simple fichier texte auquel on a changé l'extension .txt en .cfg.

Reply

Marsh Posté le 28-04-2009 à 15:12:10    

brandtance a écrit :

De sections ?


des trucs genre [mail], parce que Python intègre un parser de fichiers de conf, mais il a besoin de sections (comme les fichiers ini windows) sinon il pète.

brandtance a écrit :

En fait c'est un simple fichier texte auquel on a changé l'extension .txt en .cfg.


Bah un coup de split + [0] et baste, genre:

 
Code :
  1. keys = set([re.split(r'\s*=\s*', line)[0] for line in open("tonfichier.cfg" )])


Et là paf t'as un set() de tes clés, tu fais pareil avec l'autre fichier et après tu peux utiliser toutes les opérations sur sets (genre difference, issuperset, issubset, intersection, ...)


Message édité par masklinn le 28-04-2009 à 15:12:41

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-04-2009 à 15:22:00    

Merci!!!!
Bon je suis super newbie donc sur le coup j'ai du mal à comprendre ce que tu me dis.
Donc keys va avoir pour valeur ma variable car tu cherches le caractères égal jusqu'au début de lignes c'est ça ? Mais re ? sert à quoi?

Reply

Marsh Posté le 28-04-2009 à 15:30:48    

http://docs.python.org/library/re.html


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-04-2009 à 15:40:07    

Ok merci! Je connaissais pas et donc j'avais pas fait l'import re!
Ca marche pas top top mais tu m'as déjà aidé à avancer sur le sujet.
Merci,

Reply

Marsh Posté le 28-04-2009 à 15:45:19    

Je suis sceptique sur un point : je vais avoir toutes mes variables affecté à une variable...je vois pas comment faire après pour vérifier si mes variables sont dans l'autre fichiers...

Reply

Marsh Posté le 28-04-2009 à 15:51:37    

http://docs.python.org/library/std [...] -frozenset


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-04-2009 à 16:01:44    

J'étais dessus, mais j'ai du mal...merci quand même.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed