#python #python-3.x
Вопрос:
У меня есть 2 одинаковых файла, но у них разные метаданные (т. Е. дата последнего изменения) Есть ли способ прочитать файлы в двоичном виде без их метаданных, чтобы иметь возможность сравнить их?
Вот пример для 2 разных значений между файлами 1 и 2, остальное содержимое 2 файлов идентично:
- b'[<100b873bbc7f45a090b65bb840825f2d><100b873bbc7f45a090b65bb840825f2d><100b873bbc7f45a090b65bb840825f2d>]’
- b»(D:20210909223436-02’00’)»
Вот код, из которого я получил эти разные значения (это не идеальный код):
with open(file_path1,'rb') as file:
content1= file.read()
with open(file_path2,'rb') as file:
content2= file.read()
diff= set(content1.split())- set(content2.split()))
print(diff)
Вначале я ожидал, что между этими 2 файлами не будет разницы, так как это 2 файла PDF с точным содержанием
Комментарии:
1. Не совсем ясно, что вы подразумеваете под метаданными или как вы получили элементы в своем посте. Не могли бы вы опубликовать какой-нибудь код, чтобы уточнить, что вы имеете в виду?
2. Метаданные, возвращаемые подобным вызовом
stat
, не зависят от двоичного содержимого файла, который вы получитеopen(x, 'rb').read()
.3. @djones Я добавил пример кода о том, как я получил эти 2 разных значения
4. Они не идентичны, если в файле хранятся различные метаданные.
5. Вам нужен правильный анализатор PDF, если вам нужно разобраться в содержимом файлов, подобных этому.