Ich habe versucht
import urllib.request
oder
import urllib
Der Pfad für meine urllib lautet /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/__init__.py
Ich frage mich, wo ist urlopen, oder zeigt mein Python-Modul auf die falsche Datei?
Benutze das:
import urllib.request
Der Grund ist:
Bei solchen Paketen müssen Sie manchmal die .__-Datei explizit importieren. Stück, das du willst Auf diese Weise muss das urllib-Modul nicht .__ laden. alles auf, nur weil du ein kleines Teil haben wolltest.
Nach this
In python 3.6.x hat das für mich funktioniert, so musste ich den Code überhaupt nicht ändern:
import urllib.request as urllib
import urllib.request as urllib
dann in der Code-Call-Funktion urlopen
beispiel:
test = urllib.urlopen("----")
Wenn oben nichts funktioniert hat, benennen Sie Ihr Python-Modul um.
In meinem speziellen Fall bestand das Problem darin, dass die von mir ausgeführte Datei http.py
hieß. Nachdem ich den Namen in test-http.py
geändert hatte, löste der Import von urllib.request den Fehler AttributeError: module 'urllib' has no attribute 'request'
auf.
Ich hatte bemerkt, dass die internen Pakete weiter oben in der Ausnahmespur versucht haben, ein Modul mit dem Namen http
abzurufen, also war das Erraten meines Modulnamens ein Wahnsinn ...