python urlretrieve通过HTTP

时间:2016-05-26 08:49:37

标签: python path urllib

我们知道我们可以使用urllib.urlretrieve通过HTTP将文件下载到本地文件系统。例如:

import urllib
urllib.urlretrieve ("http://www.example.com/songs/mp3.mp3", "mp3.mp3")

我想知道如果我们下载像mp3.mp3这样的文件,默认路径在哪里?我读过python文档。

urllib.urlretrieve(url [,filename [,reporthook [,data]]]) 如有必要,将URL表示的网络对象复制到本地文件。如果URL指向本地文件,或者存在该对象的有效缓存副本,则不会复制该对象。返回一个元组(文件名,头文件),其中filename是可以在其下找到对象的本地文件名,而header是urlopen()返回的对象的info()方法返回的(对于远程对象,可能是缓存的) 。例外与urlopen()相同。 第二个参数(如果存在)指定要复制到的文件位置(如果不存在,则该位置将是具有生成名称的临时文件)。第三个参数(如果存在)是一个钩子函数,它将在建立网络连接时调用一次,之后在每个块读取之后调用一次。钩子将传递三个参数;到目前为止传输的块数,块大小(以字节为单位)以及文件的总大小。对于较旧的FTP服务器,第三个参数可能为-1,该服务器不响应检索请求而返回文件大小。

它没有提到什么是默认路径。我想知道我是否总是需要在第二个参数中使用绝对路径?

1 个答案:

答案 0 :(得分:0)

默认情况下,如果您不提供任何路径,则该文件将位于当前目录中。 如果你想把文件放在指定的位置,你应该总是使用相对路径而不是绝对路径,因为你的代码可能在不同的操作系统上运行。