在Django中使用urllib.urlretrieve()下载图像

时间:2013-09-09 20:20:21

标签: python django image filenames

我一直试图在这工作几个小时,但决定在stackoverflow上找专家。

我正在尝试从网址下载图片:

import urllib    

originalphoto = urllib.urlretrieve(bundle.obj.url)
#originalphoto is being saved to the tmp directory in Ubuntu

这样可以将图像保存在tmp目录中,但我需要通过将其调整为250px x 250px图像来修改此图像,然后将其保存到桌面上的文件夹中:/ home / ubuntu / Desktop / resizedshots

原始图像的名称在bundle.obj.url中,例如,如果bundle.obj.url是: http://photographs.500px.com/kyle/09-09-201315-47-571378756077.jpg图片名称为“09-09-201315-47-571378756077.jpg”

调整图像大小后,我需要保存到此文件夹中,如09-09-201315-47-571378756077small.jpg

正如您所看到的,我在文件名的末尾加上“small”这个词。完成所有这些后,我想删除已下载的临时映像文件,以便它不会占用磁盘。

关于如何做到这一点的任何想法?

由于

1 个答案:

答案 0 :(得分:2)

这是定义:

def urlretrieve(url, filename=None, reporthook=None, data=None):

您可以将第二个参数设置为您知道的内容,然后执行

import os
os.remove(something_you_know)

如果你没有设置第二个参数,你可以这样做:

import urllib, os

url = 'http://photographs.500px.com/kyle/09-09-201315-47-571378756077.jpg'
file, headers = urllib.urlretrieve(url)
# do something
os.remove(file)

如果os.remove不起作用,您仍然可以打开文件。