相关疑难解决方法(0)

使用请求在python中下载大文件

请求是一个非常好的库.我想用它来下载大文件(> 1GB).问题是不可能将整个文件保存在内存中我需要以块的形式读取它.这是以下代码的问题

import requests

def DownloadFile(url)
    local_filename = url.split('/')[-1]
    r = requests.get(url)
    f = open(local_filename, 'wb')
    for chunk in r.iter_content(chunk_size=512 * 1024): 
        if chunk: # filter out keep-alive new chunks
            f.write(chunk)
    f.close()
    return 
Run Code Online (Sandbox Code Playgroud)

由于某种原因它不起作用.在将其保存到文件之前,它仍会将响应加载到内存中.

UPDATE

如果你需要一个可以从FTP下载大文件的小客户端(Python 2.x /3.x),你可以在这里找到它.它支持多线程和重新连接(它确实监视连接),它还为下载任务调整套接字参数.

python download stream python-requests

348
推荐指数
6
解决办法
27万
查看次数

使用Flask代理另一个Web服务

我想将对Flask应用程序发出的请求代理到本机在本地运行的另一个Web服务.我宁愿使用Flask而不是我们的更高级别的nginx实例,这样我们就可以重用我们应用程序内置的现有身份验证系统.我们越能保持这种"单点登录"越好.

是否有现有模块或其他代码来执行此操作?尝试将Flask应用程序连接到像httplib或urllib这样的东西被证明是一种痛苦.

python proxy nginx httplib flask

41
推荐指数
3
解决办法
2万
查看次数

Flask 大文件下载

从 Flask 下载文件时发生内存错误。该文件的大小约为 100 兆字节。我该如何解决?

烧瓶下载代码

return send_from_directory(s_trash_path, s_zip_name, mimetype='zip', as_attachment=True)
Run Code Online (Sandbox Code Playgroud)

错误代码

[2018-07-21 16:11:22,328] ERROR in app: Exception on /ec-fileupload/download/select [POST]
Traceback (most recent call last):
  File "/home/venv_ec_fileupload/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/venv_ec_fileupload/lib/python3.6/site-packages/flask/app.py", line 1615, in full_dispatch_request
    return self.finalize_request(rv)
  File "/home/venv_ec_fileupload/lib/python3.6/site-packages/flask/app.py", line 1632, in finalize_request
    response = self.process_response(response)
  File "/home/venv_ec_fileupload/lib/python3.6/site-packages/flask/app.py", line 1856, in process_response
    response = handler(response)
  File "./app/__init__.py", line 170, in after_request
    s_data = resp.get_data()
  File "/home/venv_ec_fileupload/lib/python3.6/site-packages/werkzeug/wrappers.py", line 987, in get_data
    rv = b''.join(self.iter_encoded())
MemoryError
Run Code Online (Sandbox Code Playgroud)

download flask

2
推荐指数
1
解决办法
6070
查看次数

标签 统计

download ×2

flask ×2

python ×2

httplib ×1

nginx ×1

proxy ×1

python-requests ×1

stream ×1