我正在尝试使用urllib2打开本地文件。我该怎么做呢?当我使用urllib尝试以下行时:
resp = urllib.urlopen(url)
它可以正常工作,但当我将其切换为:
resp = urllib2.urlopen(url)
我明白了:
ValueError: unknown url type: /path/to/file
该文件肯定会退出。
谢谢!
答案 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上打开它,您的浏览器将显示网址栏上的确切本地路径。祝你好运!