Sommaire

Comparer des fichiers ou répertoires avec le module filecmp filecmp

La bibliothèque standard de Python propose le module filecmp pour vérifier si deux fichiers ou deux répertoires sont identiques. L’utilisation du module s’articule essentiellement autour de deux utilitaires qui sont :

  • la fonction cmp pour comparer deux fichiers cmp

  • le constructeur dircmp pour comparer deux répertoires dircmp

La fonction cmp prend en paramètre deux arguments qui sont les deux fichiers à comparer (Chapitre_3/filecmp_1.py) :

1 #!/usr/bin/env python3  
2 import filecmp  
3  
4  
5 def main():  
6     f1 = ’/etc/passwd’  
7     f2 = ’/etc/group’  
8     q = ’f1 est-il similaire à f2 ?’  
9     print(q)  
10     print(filecmp.cmp(f1, f2))  
11     print(’f1 = ’ + f1)  
12     print(’f2 = ’ + f2)  
13  
14  
15 if __name__ == ’__main__’:  
16     main()

cmp compare le contenu des deux fichiers et retourne un booléen True lorsqu’ils sont identiques ou False si ce n’est pas le cas :

patrice@raspberrypi ~/Developper_en_Python_sur_Raspberry_Pi/Chapitre_3 
$ python3 filecmp_1.py  
f1 est-il similaire à f2 ?  
False  
f1 = /etc/passwd  
f2 = /etc/group

L’appel au constructeur ...