小编典典

基本的http文件在python中下载并保存到磁盘?

all

我是 Python 新手,我一直在浏览这个网站上的问答,以回答我的问题。但是,我是初学者,我发现很难理解一些解决方案。我需要一个非常基本的解决方案。

有人可以向我解释一下“通过http下载文件”和“在Windows中将其保存到磁盘”的简单解决方案吗?

我也不确定如何使用 shutil 和 os 模块。

我要下载的文件小于 500 MB,是一个 .gz 存档文件。如果有人可以解释如何提取存档并利用其中的文件,那就太好了!

这是一个部分解决方案,我结合各种答案编写:

import requests
import os
import shutil

global dump

def download_file():
    global dump
    url = "http://randomsite.com/file.gz"
    file = requests.get(url, stream=True)
    dump = file.raw

def save_file():
    global dump
    location = os.path.abspath("D:\folder\file.gz")
    with open("file.gz", 'wb') as location:
        shutil.copyfileobj(dump, location)
    del dump

有人可以指出错误(初级)并解释任何更简单的方法吗?

谢谢!


阅读 81

收藏
2022-07-28

共1个答案

小编典典

下载文件的一种干净方法是:

import urllib

testfile = urllib.URLopener()
testfile.retrieve("http://randomsite.com/file.gz", "file.gz")

这将从网站下载一个文件并命名它file.gz。这是我最喜欢的解决方案之一,来自通过 urllib 和 python
下载图片

此示例使用该urllib库,它将直接从源中检索文件。

2022-07-28