2014-01-16 58 views
9

我知道我在几周前的某个地方看到了答案,但现在找不到它。urllib.urlretrieve文件python 3.3

简单的urllib.urlretrieve在Python 3.3。你怎么做呢?我试图下载一个mp4/html(页面不存在)场景,如果页面不存在,或者mp4(如果文件大小很小或者保持不变,我可以删除该文件) 。

我的代码运行良好,并且完全符合我希望它在2.7中执行的操作,但它在3.3中不起作用。

我正在处理两个版本的Python之间的两个让我头痛,Tkinter和urllib。 Tkinter在3.3中工作正常,但urllib没有和urllib在2.7中正常工作,但Tkinter没有。我如何在3.3下正确下载?

我知道3.3已经改变了urllib,但我找不到我在一两个星期前看到的东西来指导我正确的方向。

2.7当我添加Tkinter改变和3.3刚刚出现,并给我urllib没有属性'urlretrieve ;.我更喜欢3.3。

+0

请发表您有2.7工作的代码。 – senshin

+1

在Python 3中'urlretrieve'在['urllib.request'](http://docs.python.org/3.3/library/urllib.request.html)中。 – eskaev

+0

我意识到,并试图在import urllib.request后跟urllib.request.urlretrieve。它的功能不一样。而不是出现并下载由它的大小的HTML文件告诉我,它不是我正在寻找的mp4文件,而是它不断出现,并给我HTTTPError:HTTP错误404找不到。在2.7下载我删除的HTML文件,在3.3它只是标志着我的错误。有没有办法解决这个问题? – confused

回答

19

在Python 3.x中,该urlretrieve功能位于urllib.request模块:

>>> from urllib import urlretrieve 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: cannot import name urlretrieve 
>>> 
>>> from urllib.request import urlretrieve 
>>> urlretrieve 
<function urlretrieve at 0x023C2390> 
>>>