Opening Local File Works with urllib but not with urllib2

Jason Brooks picture Jason Brooks · Dec 13, 2013 · Viewed 28.1k times · Source

I'm trying to open a local file using urllib2. How can I go about doing this? When I try the following line with urllib:

resp = urllib.urlopen(url)

it works correctly, but when I switch it to:

resp = urllib2.urlopen(url)

I get:

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

where that file definitely does exit.

Thanks!

Answer

John La Rooy picture John La Rooy · Dec 13, 2013

Just put "file://" in front of the path

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