gpt4 book ai didi

python - 比较本地文件与远程文件

转载 作者:太空宇宙 更新时间:2023-11-03 19:36:15 30 4
gpt4 key购买 nike

我遇到以下问题:我有一个本地 .zip 文件和一个位于服务器上的 .zip 文件。我需要检查服务器上的.zip文件是否与本地不同;如果不是,我需要从服务器中提取新的。我的问题是如何在不从服务器下载文件并在本地比较它们的情况下比较它们?

我可以在创建 .zip 文件时为服务器上的 zip 文件创建 MD5 哈希值,然后将其与本地 .zip 文件的 MD5 进行比较,但有没有更简单的方法呢?

最佳答案

简短回答:你不能。

长答案:为了与服务器上的 zip 文件进行比较,必须有人读取该文件。您可以在本地执行此操作(这将涉及拉取它),也可以要求服务器为您执行此操作。您可以在服务器上运行代码吗?

编辑

如果可以在服务器上运行 Python,为什么不对文件进行哈希处理并比较哈希值?

import hashlib
with open( <path-to-file>, "rb" ) as theFile:
m = hashlib.md5( )
for line in theFile:
m.update( line )
with open( <path-to-hashfile>, "wb" ) as theFile:
theFile.write( m.digest( ) )

然后将hashfile的内容与本地生成的哈希进行比较?

另一个编辑

您要求一种更简单的方法。以抽象的方式思考一下:

  • 您不想下载整个 zip 文件。
  • 因此,您无法在本地处理整个文件(因为这需要从服务器读取所有文件,这相当于下载它!)。
  • 因此,您需要在服务器上进行一些处理。具体来说,您希望提供一些少量的数据来对文件进行“编码”,以便您可以获取这些少量的数据,而无需获取整个文件。
  • 但这是一个哈希!

因此,您需要进行某种哈希处理。鉴于此,我认为上述内容非常简单。

关于python - 比较本地文件与远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3423510/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com