2012-10-17 157 views
0

我想使用的urllib保存從網路上的圖片,我不斷收到此錯誤:保存圖像中使用Python的urllib

[Wed Oct 17 10:03:43 2012] [error] [client 223.232.227.124] urllib.urlretrieve(image,ban) 
[Wed Oct 17 10:03:43 2012] [error] [client 223.232.227.124] File "/usr/lib/python2.6/urllib.py", line 93, in urlretrieve 
[Wed Oct 17 10:03:43 2012] [error] [client 223.232.227.124]  return _urlopener.retrieve(url, filename, reporthook, data) 
[Wed Oct 17 10:03:43 2012] [error] [client 223.232.227.124] File "/usr/lib/python2.6/urllib.py", line 243, in retrieve 
[Wed Oct 17 10:03:43 2012] [error] [client 223.232.227.124]  tfp = open(filename, 'wb') 
[Wed Oct 17 10:03:43 2012] [error] [client 223.232.227.124] IOError: [Errno 13] Permission denied: '/public/env/lib/python2.6/site-packages/project-0.0-py2.6.egg/project/images/series/graphical/104281-g2.jpg' 

代碼:

ban='/public/env/project/project/images/series/%s'%(banner) 
image='http://www.thetvdb.com/banners/%s'%(banner) 
urllib.urlretrieve(image,ban) 

的代碼可以正常使用在我的本地主機上使用Pyramid服務器服務器以及使用mod_wsgi,但不在生產服務器上。

我正在使用金字塔框架進行開發。

+4

看起來你沒有權限在那裏寫圖片。 – Blender

回答

2

這是一個權限問題。您無權寫入您嘗試在服務器中放置的位置。嘗試您有權限的其他位置,或對該目錄設置適當的權限。

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

第二個參數是要寫入的文件名。由於您是從webapp運行的,因此運行webapp的進程應該有權嘗試寫入的位置。

+0

但是它爲什麼要保存在python蛋文件夾中?我對Python很陌生。 – aradhya

+0

不知道,爲什麼雞蛋文件夾進來之間。嘗試給你想要它寫的文件夾的絕對路徑。 –

+0

我確實嘗試過。同樣的問題。它只嘗試保存在蛋文件夾中。 – aradhya