El módulo Filecmp en Python proporciona funciones para comparar archivos y directorios. Este módulo se incluye en los módulos de utilidad estándar de Python. Este módulo también considera las propiedades de los archivos y directorios para la comparación además de los datos en ellos.
filecmp.cmp()
El método en Python se usa para comparar dos archivos. Este método por defecto realiza una comparación superficial (como por defecto shallow = True
), lo que significa que solo os.stat()
se comparan las firmas (como el tamaño, la fecha de modificación, etc.) de ambos archivos y, si tienen firmas idénticas, los archivos se consideran iguales independientemente del contenido de los archivos. . Si shallow
se establece en False
, la comparación se realiza comparando el contenido de ambos archivos.
Sintaxis: filecmp.cmp(file1, file2, superficial = Verdadero)
Parámetro:
file1 : La ruta del primer archivo a comparar. Puede ser una string, bytes, un objeto os.PathLike o un número entero que represente la ruta del archivo.
file2 : La ruta del segundo archivo a comparar. Puede ser una string, bytes, un objeto os.PathLike o un número entero que represente la ruta del archivo.
superficial (opcional): un valor booleano ‘Verdadero’ o ‘Falso’. El valor predeterminado de este parámetro es True. Si su valor es True, solo se comparan los metadatos de los archivos. Si es False, se comparan los contenidos de los archivos.Tipo de retorno: este método devuelve un valor bool True si los archivos especificados son iguales o False si no lo son.
Código:
Uso del método filecmp.cmp() para comparar dos archivos
# Python program to demonstrate # filecmp.cmp() method import filecmp # Path of first file file1 = "/home/geeks/Desktop/gfg/data.txt" # Path of second file file2 = "/home/geeks/Desktop/gfg/gfg.txt" # Compare the os.stat() # signature i.e the metadata # of both files comp = filecmp.cmp(file1, file2) # Print the result of comparison print(comp) # Compare the # contents of both files comp = filecmp.cmp(file1, file2, shallow = False) # Print the result of comparison print(comp)
False True