0

我有一个脚本,可以将 zip 文件下载到我桌面上的文件夹,然后将它们解压缩到本地的另一个位置。除了一些文件外,大多数文件都可以正常工作。我试图通过搜索错误来找到解决方案,但无法理解错误发生的位置或原因。

我正在从特定国家/地区的网站下载数据。我有大约五个国家的网站正在迭代以下载和解压缩数据。如前所述,其中一个的 zip 文件最终会损坏。如果我手动下载并解压缩数据,它工作得很好。所以我认为这是一个 Python 错误?

该部分if Country != "BE"只是一个临时“解决方案”,否则脚本会“崩溃”。首先数据被下载到DataOut位置,然后应该被解包UnpackedDataOut

with open(os.path.join(DataOut,file_name),"wb") as file:
    response = get(domain + url)
    file.write(response.content) 

if Country != "BE":
    with ZipFile(DataOut+"\\"+file_name,"r") as zipObj:
        zipObj.extractall(UnpackedDataOut)

BE 的数据已下载,如果我在通过 Python 下载后尝试手动打开它,则会在打包文件中返回消息错误。

4

1 回答 1

0

你可以简单地使用这个片段来下载和解压缩 zip 文件:

import urllib
import zipfile

url = "http://www.gutenberg.lib.md.us/4/8/8/2/48824/48824-8.zip"
extract_dir = "example"

zip_path, _ = urllib.request.urlretrieve(url)
with zipfile.ZipFile(zip_path, "r") as f:
    f.extractall(extract_dir)
于 2021-12-30T18:08:53.800 回答