3

是否可以使用urlretrieve()以将某些内容下载到子文件夹中而不以绝对但相对的方式表达它?例如:

urllib.request.urlretrieve(url, '/downloads/2017/foo.txt')

每次我向文件名添加路径时,python 都会引发以下错误:

文件“C:\Program Files\Python36\lib\urllib\request.py”,第 258 行,在 urlretrieve tfp = open(filename, 'wb') FileNotFoundError: [Errno 2] No such file or directory: '/downloads/ 2017/foo.txt'

但是当我使用这段代码时:

urllib.request.urlretrieve(url, 'foo.txt')

它愉快地下载文件。

我想我在这里遗漏了一些基本的东西,但是在互联网上搜索了很长一段时间后,我还没有找到答案。有谁知道在urlretrieve()方法中应该如何表达相对文件路径?

4

1 回答 1

5

使用 时urllib.request.urlretrieve(),如果要将文件保存在程序位置以外的其他位置,则需要确保您引用的文件夹已经存在。或者,如果它们不存在,您可以使用以下代码生成所需的文件夹:

for i in directories:
    if not os.path.isdir(i):
        os.makedirs(i)

如果您仍然得到 .,请检查拼写错误FileNotFoundError

于 2017-09-30T22:59:17.463 回答