wake-up-neo.com

Lokale Datei öffnen Funktioniert mit urllib, aber nicht mit urllib2

Ich versuche, eine lokale Datei mit urllib2 zu öffnen. Wie kann ich das machen? Wenn ich die folgende Zeile mit urllib probiere:

resp = urllib.urlopen(url)

es funktioniert korrekt, aber wenn ich es umstelle:

resp = urllib2.urlopen(url)

Ich bekomme:

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

wo diese Datei definitiv beendet wird.

Vielen Dank!

23
Jason Brooks

Setzen Sie einfach "file://" vor den Pfad

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

In urllib.urlopen-Methode: Wenn der URL-Parameter keine Schema-ID hat, wird eine lokale Datei geöffnet. aber das urllib2 verhält sich nicht so.

Die Methode urllib2 kann sie also nicht verarbeiten.

Es ist immer gut, die Schemakennung 'file: //' in den Methodenaufruf für den Parameter url aufzunehmen.

1
Wubao Li

Ich hatte das gleiche Problem und eigentlich wurde mir klar, dass der Browser den genauen lokalen Pfad auf der URL-Leiste anzeigt, wenn Sie die Quelle der Seite herunterladen und dann auf Chrome öffnen. Viel Glück!

0
oba2311