Как сравнить 2 файла python: легкое руководство с примерами 🐍✅

Для сравнения двух файлов в Python можно использовать модуль filecmp. Вот пример:


import filecmp

file1 = "путь_к_первому_файлу"
file2 = "путь_к_второму_файлу"

are_files_equal = filecmp.cmp(file1, file2)

if are_files_equal:
    print("Файлы одинаковые")
else:
    print("Файлы разные")

Детальный ответ

Как сравнить 2 файла в Python

Когда вы работаете с файлами в Python, может возникнуть необходимость сравнить содержимое двух файлов. В этой статье мы рассмотрим различные способы, которые позволят сравнить два файла в Python.

1. Сравнение построчно

Один из простых способов сравнить два файла - это сравнить их построчно. Для этого мы можем открыть оба файла, считать содержимое построчно и сравнивать каждую строку.


file1 = open("file1.txt", "r")
file2 = open("file2.txt", "r")

lines1 = file1.readlines()
lines2 = file2.readlines()

for line1, line2 in zip(lines1, lines2):
    if line1 != line2:
        print("Файлы различаются.")
        break
else:
    print("Файлы идентичны.")
    

В приведенном выше коде мы используем функцию open(), чтобы открыть оба файла в режиме чтения. Затем мы считываем содержимое каждого файла с помощью метода readlines() и сохраняем строки в соответствующих переменных. Затем мы сравниваем каждую строку с помощью цикла for и оператора сравнения !=. Если мы найдем различающуюся строку, мы выведем сообщение "Файлы различаются." и выйдем из цикла. В противном случае, если цикл закончится без прерывания с помощью оператора break, мы выведем сообщение "Файлы идентичны."

2. Сравнение в бинарном режиме

Если вам нужно сравнить два файла в бинарном режиме, вы можете использовать модуль filecmp. Этот модуль предоставляет функционал для сравнения файлов и каталогов.


import filecmp

result = filecmp.cmp("file1.bin", "file2.bin")
if result:
    print("Файлы идентичны.")
else:
    print("Файлы различаются.")
    

Вышеуказанный код использует функцию cmp() из модуля filecmp, чтобы сравнить два файла в бинарном режиме. Если файлы идентичны, функция возвращает значение True, иначе - False.

3. Хэш-сравнение

Другой способ сравнить два файла в Python - это сравнить хэши их содержимого. В этом случае мы будем вычислять хэш-суммы для обоих файлов с использованием функции hashlib и сравнивать полученные значения.


import hashlib

def calculate_hash(file_path):
    with open(file_path, "rb") as file:
        content = file.read()
        hash_value = hashlib.md5(content).hexdigest()
        return hash_value

hash1 = calculate_hash("file1.txt")
hash2 = calculate_hash("file2.txt")

if hash1 == hash2:
    print("Файлы идентичны.")
else:
    print("Файлы различаются.")
    

В приведенном выше коде мы определили функцию calculate_hash(), которая вычисляет хэш-сумму содержимого файла. Затем мы вызываем эту функцию для каждого файла и сохраняем полученные хэш-значения. После этого мы сравниваем эти значения с помощью оператора сравнения ==.

В заключение

Теперь у вас есть несколько различных способов сравнить два файла в Python. Вы можете выбрать подходящий метод на основе требований вашего проекта.

Видео по теме

Как сравнить 2 списка в Python 3 (2 способа) / mrGURU

Сравнение файлов. Несколько строк кода и вы сравнили файлы, причем визуально.

Python. Списки. Сравнение

Похожие статьи:

Как проверить JSON на валидность с помощью Python? 🐍✅

🔎 Как уменьшить вес .exe файла при помощи Python? 🐍

🔧 Как создать условие в Python: пошаговое руководство

Как сравнить 2 файла python: легкое руководство с примерами 🐍✅

Как получить значение из функции в Python? 🐍

Как использовать двойное равно в Python: все, что вам нужно знать!

Как открыть docx файлы с помощью Python: пошаговое руководство 🔓