使用Python 2.7从网站下载文件时的权限问题

时间:2014-04-01 04:10:23

标签: python-2.7 urllib

我正在尝试使用Python 2.7将一组文件从一个网站下载到我在Windows中的本地驱动器,但是获得了权限被拒绝错误:

其中一个例子如下:

urllib.urlretrieve('http://www.renderx.com/files/demos/examples/Fund.pdf',"c://python")

Traceback (most recent call last):
  File "<pyshell#151>", line 1, in <module>
    urllib.urlretrieve('http://www.renderx.com/files/demos/examples/Fund.pdf',"c://python")
  File "C:\Python\Python27\lib\urllib.py", line 94, in urlretrieve
    return _urlopener.retrieve(url, filename, reporthook, data)
  File "C:\Python\Python27\lib\urllib.py", line 244, in retrieve
    tfp = open(filename, 'wb')
IOError: [Errno 13] Permission denied: 'c://python'

当我没有指定路径时,它会将文件(没有任何问题)下载到安装Python的路径中C:// pyhton // Python27 ...但我想下载特定文件夹中的所有文件。 你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果您没有指定路径,python将采用您运行的.py文件的路径。

由于您提供了第二个参数,即已存在的文件夹名称(c://python),它可能会尝试替换您的python目录(c://Python)。

您可以为下载文件指定第二个参数filename(如果已存在相同的文件,则可能会出错)。即:

urllib.urlretrieve('http://www.renderx.com/files/demos/examples/Fund.pdf',
"c://python//fund.pdf")

我认为这会将文件fund.pdf存储在python目录