2012-10-17 62 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