将下载内容保存在Windows操作系统上Python的生成目录中

将下载内容保存在Windows操作系统上Python的生成目录中,python,python-2.7,urllib2,urllib,Python,Python 2.7,Urllib2,Urllib,我目前正在尝试从internet自动下载图像。使用Python 2.7时,我的URL与以下类似:- 我希望做的是: 使用用户部件作为目录名。 将相册部分用作子目录名称。 将图像保存在相应的子目录中。 我可以毫无问题地将图像下载到根目录中,但是当我尝试应用下面的命令时,我得到了一个错误。这是我的密码:- import os import urllib # this is the URL for the image thumbnail = "http://www.myphotos.com/use

我目前正在尝试从internet自动下载图像。使用Python 2.7时,我的URL与以下类似:-

我希望做的是:

使用用户部件作为目录名。 将相册部分用作子目录名称。 将图像保存在相应的子目录中。 我可以毫无问题地将图像下载到根目录中,但是当我尝试应用下面的命令时,我得到了一个错误。这是我的密码:-

import os
import urllib

# this is the URL for the image
thumbnail =  "http://www.myphotos.com/user/album/photoID.jpg"

# Put the images in the directory for user and album
user = thumbnail.split('/')[3]
album = thumbnail.split('/')[4]
image_dir_location = "/" + user + "/" + album
if not os.path.exists(image_dir_location):
    os.makedirs(image_dir_location)
urllib.urlretrieve(thumbnail, image_dir_location + thumbnail.split('/')[6])

当我运行这个脚本时,它似乎根本不会下载任何文件,也不会生成目录。奇怪的是,它也不会产生任何错误。

您的图像方向位置是一条绝对路径。你应该省去前导的/。此外,您的目录创建策略很脆弱。更喜欢使用os.makedirs…,exists\u ok=True并去掉检查。您的索引也是假的。我认为从末尾开始索引会更容易:urlparts=url.split'/';image=urlparts[-1];相册=urlparts[-2];user=urlparts[-3];请注意,我只拆分了一次字符串,并且使用了更多描述性变量名。您可能还需要查看os.path。另一个问题是,您需要在urlretrieve调用中的image_dir_位置和缩略图.split'/'[6]之间添加路径分隔符。