0

私はこれに何時間も取り組んできましたが、ここでスタックオーバーフローの専門家に相談することにしました。

URLから画像をダウンロードしようとしています:

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 が次 の場合:画像は「09-09-201315-47-571378756077.jpg」

画像のサイズを変更したら、このフォルダーに 09-09-201315-47-571378756077small.jpg として保存する必要があります。

ご覧のとおり、ファイル名の末尾に「小さい」という単語を追加しています。これがすべて完了したら、ダウンロードした一時イメージ ファイルを削除して、ディスクを占有しないようにしたいと考えています。

これを行う方法についてのアイデアはありますか?

ありがとう

4

1 に答える 1

2

これは定義です:

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

2番目の引数を知っているものに設定してから実行できます

import os
os.remove(something_you_know)

2 番目の引数を設定しない場合は、次のようにします。

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うまくいかない場合は、まだファイルが開いています。

于 2013-09-10T11:53:50.130 に答える