Python — Считывает содержимое файла в двоичном виде без его метаданных

#python #python-3.x

Вопрос:

У меня есть 2 одинаковых файла, но у них разные метаданные (т. Е. дата последнего изменения) Есть ли способ прочитать файлы в двоичном виде без их метаданных, чтобы иметь возможность сравнить их?

Вот пример для 2 разных значений между файлами 1 и 2, остальное содержимое 2 файлов идентично:

  1. b'[<100b873bbc7f45a090b65bb840825f2d><100b873bbc7f45a090b65bb840825f2d><100b873bbc7f45a090b65bb840825f2d>]’
  2. 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, если вам нужно разобраться в содержимом файлов, подобных этому.