我使用 Python 的 PyDrive2 包下载了 Google Drive 的所有内容,并对本地驱动器中的文件和 Google Drive 上的内容进行了比较,发现其中一些文件的 md5 哈希值不同。本地驱动器上的所有文件均未发生过更改,但...
从我的本地驱动器...
"Pay Stubs/Wendy's/01-11-2022.pdf": {
"size": 3872,
"checksum": "1891f224f046ef7ff05b9dc69e275155"
},
来自 Google Drive...
"Pay Stubs/Wendy's/01-11-2022.pdf": {
"size": 3872,
"checksum": "60e94f02230b42d5288878550f01f315"
},
我已经使用 fsspec 下载了文件的字节内容,并在本地生成了 md5 哈希,并且该哈希就是它应该的样子。
# GoogleDrive inherits pydrive2.fs.GDriveFileSystem https://docs.iterative.ai/PyDrive2/fsspec/
# pydrive2.fs.GDriveFileSystem inherits fsspec.AbstractFileSystem
# https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem
Drive = GoogleDrive()
print(Drive.info(path = 'root/Pay Stubs/Wendy\'s/01-11-2022.pdf'))
with Drive.open(path = 'root/Pay Stubs/Wendy\'s/01-11-2022.pdf', mode = 'rb') as rfile:
print(hashlib.md5(string = rfile.read(), usedforsecurity = True).hexdigest())
{'name': "root/Pay Stubs/Wendy's/01-11-2022.pdf", 'type': 'file', 'size': 3872, 'checksum': '60e94f02230b42d5288878550f01f315'}
60e94f02230b42d5288878550f01f315
无论如何,我的问题是,下载文件后,Windows 可能会对文件的字节内容进行哪些更改,从而导致最终得到不同的 MD5 哈希值?