python - 使用 urlretrieve() 下载文件到子文件夹

标签 python python-3.x web-scraping urllib urlretrieve

是否可以使用 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,请检查拼写错误。

关于python - 使用 urlretrieve() 下载文件到子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46413651/

相关文章:

python-3.x - elasticsearch python parallel_bulk无法插入数据

python - 网页抓取无法获取所有表格

python - BeautifulSoup 网络爬虫 : How to get piece of text

json - 有没有办法判断网站上是否有json

python - Python 中的数据框值匹配

python - 如何从背包DP矩阵推导出所有解

python - 如何检查列表中的所有元素是否都是整数

python - 将 2 级索引添加为其他有条件的索引的总和

python - 具有不同批量大小的pytorch恢复模型

Python 弃用警告