0

我在网站上有一张图片:(示例)

www.testing.com/hello/subfolder/the%20martian%20movie.jpg

当试图在我的 python 程序中将此图像下载到我选择的目录 (Users/Home/Temp) 时,它会在“/subfolder”上找到。如何在不影响我发现的其他图像的情况下忽略这一点?这张图片是唯一一张前面有目录的图片,所有其他 jpg 图像都会显示正确的链接并将我带到该图片并将其下载到我的临时文件夹,只是不是这张,而这一张是唯一的名称中有一个目录。

这是我正在使用的代码:

for jpg in jpg_list:
    os.path.basename(jpg)
    print(jpg)
    fullfilename = os.path.join(f'{dl_location}', f'{jpg}')
    dl_link = url + jpg

    if os.path.isfile(fullfilename):
        print('file already exists, renaming.')
        os.rename(fullfilename, f'{fullfilename}-copy{c}.jpg')
        c=c+1

    urllib.request.urlretrieve(dl_link, fullfilename)

在 for 循环中,我尝试使用 basename 却没有这样的运气,它仍然会在 /subfolder 上拾取,我认为会尝试创建子文件夹,但 '/subfolder' 是图像链接的一部分!

我收到错误消息

FileNotFoundError: [Errno 2] No such file or directory: '/Users/Home/Temp/CW/subfolder/The%20Martian%20-%20image.jpg'
4

1 回答 1

1

我怀疑原因是您没有将 basename 的输出分配给变量。因此,您实际上从未使用过文件名的基本版本。

jpg = os.path.basename(jpg)

于 2017-11-23T18:38:09.863 回答