V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Raul7
V2EX  ›  Python

关于 urllib.request.urlretrieve()下载文件的问题,请教下 v 友们

  •  
  •   Raul7 · 2019-11-05 17:59:28 +08:00 · 3398 次点击
    这是一个创建于 1605 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我这边是一个 flask 的一个接口,有个功能是从一个链接下载个文件,保存为本地。 这个文件经常会变化,所以每次请求我接口的时候,都要重新拉取这个文件,覆盖之前的,保存最新的。 代码如下:

            try:
                urllib.request.urlretrieve(path, store_path)
                log.write('info', None, 0, u'下载完成')
    

    但是目前有个 bug,我服务启动,文件有更改,但是无法下载,也没任何报错提示。

    但是我把 flask 服务重启,再访问接口,就可以下载最新的了。

    8 条回复    2019-11-06 00:43:57 +08:00
    xuyl
        1
    xuyl  
       2019-11-05 19:27:03 +08:00 via Android
    无法下载?是文件没变更过?下载链接是固定的吗?可以加一串随机参数做刷新
    ipwx
        2
    ipwx  
       2019-11-05 19:42:10 +08:00
    你没说清楚这一点:你是 Flask 开放了一个接口给别人下载,还是 Flask 有个接口,用户一访问,就下载一个文件?
    superrichman
        3
    superrichman  
       2019-11-05 21:47:09 +08:00
    加个 errorhandler 把 exception 和 traceback 信息全部打出来看看
    renmu
        4
    renmu  
       2019-11-05 23:16:11 +08:00 via Android
    flask 静态文件更改还是之前的,参考一楼的答案
    Raul7
        5
    Raul7  
    OP
       2019-11-06 00:33:50 +08:00
    @xuyl 文件变更过 下载链接是固定的
    Raul7
        6
    Raul7  
    OP
       2019-11-06 00:35:48 +08:00
    @ipwx 前端页面调用我的 flask 接口,我这个接口去做个扫描任务。但是扫描过程的第一步:我需要拿到最新的文件,前端一调用我的接口,我根据文件的修改时间判断是否有更新,有的话就下载最新的。
    Raul7
        7
    Raul7  
    OP
       2019-11-06 00:36:16 +08:00
    @superrichman 好的我打印看看~
    ipwx
        8
    ipwx  
       2019-11-06 00:43:57 +08:00
    。。会不会前端页面没刷新,你那接口根本没调用两次
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5325 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:05 · PVG 16:05 · LAX 01:05 · JFK 04:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.