打开本地文件与urllib一起使用但不与urllib2一起使用

时间:2013-12-13 03:29:31

标签: python urllib2 urllib

我正在尝试使用urllib2打开本地文件。我该怎么做呢?当我使用urllib尝试以下行时:

resp = urllib.urlopen(url)

它可以正常工作,但当我将其切换为:

resp = urllib2.urlopen(url)

我明白了:

ValueError: unknown url type: /path/to/file

该文件肯定会退出。

谢谢!

3 个答案:

答案 0 :(得分:34)

只需将"file://"放在路径前面

即可
>>> import urllib2
>>> urllib2.urlopen("file:///etc/debian_version").read()
'wheezy/sid\n'

答案 1 :(得分:1)

在urllib.urlopen方法中:如果URL参数没有方案标识符,它将打开一个本地文件。但是urllib2的行为并不像这样。

因此,urllib2方法无法处理它。

在url参数的两个方法调用中包含'file://'模式标识符总是很好。

答案 2 :(得分:0)

我遇到了同样的问题,实际上,我刚刚意识到,如果您下载页面的来源,然后在Chrome上打开它,您的浏览器将显示网址栏上的确切本地路径。祝你好运!

相关问题