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

2019-11-05 17:59:28 +08:00
 Raul7

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

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

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

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

3541 次点击
所在节点    Python
8 条回复
xuyl
2019-11-05 19:27:03 +08:00
无法下载?是文件没变更过?下载链接是固定的吗?可以加一串随机参数做刷新
ipwx
2019-11-05 19:42:10 +08:00
你没说清楚这一点:你是 Flask 开放了一个接口给别人下载,还是 Flask 有个接口,用户一访问,就下载一个文件?
superrichman
2019-11-05 21:47:09 +08:00
加个 errorhandler 把 exception 和 traceback 信息全部打出来看看
renmu
2019-11-05 23:16:11 +08:00
flask 静态文件更改还是之前的,参考一楼的答案
Raul7
2019-11-06 00:33:50 +08:00
@xuyl 文件变更过 下载链接是固定的
Raul7
2019-11-06 00:35:48 +08:00
@ipwx 前端页面调用我的 flask 接口,我这个接口去做个扫描任务。但是扫描过程的第一步:我需要拿到最新的文件,前端一调用我的接口,我根据文件的修改时间判断是否有更新,有的话就下载最新的。
Raul7
2019-11-06 00:36:16 +08:00
@superrichman 好的我打印看看~
ipwx
2019-11-06 00:43:57 +08:00
。。会不会前端页面没刷新,你那接口根本没调用两次

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/616596

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX