使用 urlretrieve() 下载文件到子文件夹
Download file with urlretrieve() to subfolder
是否可以使用 urlretrieve()
将某些内容下载到子文件夹中,而无需以绝对但相对的方式表达?
例如:
urllib.request.urlretrieve(url, '/downloads/2017/foo.txt')
每次我向文件名添加路径时 python 都会抛出以下错误:
File "C:\Program Files\Python36\lib\urllib\request.py", line 258, in urlretrieve
tfp = open(filename, 'wb')
FileNotFoundError: [Errno 2] No such file or directory: '/downloads/2017/foo.txt'
但是当我使用这段代码时:
urllib.request.urlretrieve(url, 'foo.txt')
它愉快地下载文件。
我想我在这里遗漏了一些基本的东西,但是在网上搜索了一段时间之后我还没有找到答案。有谁知道在 urlretrieve()
方法中应该如何表达相对文件路径?
使用 urllib.request.urlretrieve()
时,如果要将文件保存在程序所在位置之外的其他位置,您需要确保引用的文件夹已经存在。或者,您可以使用以下代码生成您需要的文件夹(如果它们不存在):
for i in directories:
if not os.path.isdir(i):
os.makedirs(i)
如果仍然得到 FileNotFoundError
,请检查拼写错误。
是否可以使用 urlretrieve()
将某些内容下载到子文件夹中,而无需以绝对但相对的方式表达?
例如:
urllib.request.urlretrieve(url, '/downloads/2017/foo.txt')
每次我向文件名添加路径时 python 都会抛出以下错误:
File "C:\Program Files\Python36\lib\urllib\request.py", line 258, in urlretrieve tfp = open(filename, 'wb') FileNotFoundError: [Errno 2] No such file or directory: '/downloads/2017/foo.txt'
但是当我使用这段代码时:
urllib.request.urlretrieve(url, 'foo.txt')
它愉快地下载文件。
我想我在这里遗漏了一些基本的东西,但是在网上搜索了一段时间之后我还没有找到答案。有谁知道在 urlretrieve()
方法中应该如何表达相对文件路径?
使用 urllib.request.urlretrieve()
时,如果要将文件保存在程序所在位置之外的其他位置,您需要确保引用的文件夹已经存在。或者,您可以使用以下代码生成您需要的文件夹(如果它们不存在):
for i in directories:
if not os.path.isdir(i):
os.makedirs(i)
如果仍然得到 FileNotFoundError
,请检查拼写错误。