Jeg lurer på om det er noen forskjell mellom kodefragmentet
from urllib import request
og fragmentet
import urllib.request
eller om de er utskiftbare. Hvis de er utskiftbare, hvilken syntaks er "standard" / "foretrukket" (hvis det finnes en)?
På forhånd takk!
Det avhenger av hvordan du vil få tilgang til importen når du refererer til den.
from urllib import request
# access request directly.
mine = request()
import urllib.request
# used as urllib.request
mine = urllib.request()
Du kan også gi ting alias selv når du importerer for enkelhets skyld eller for å unngå å maskere innebygde elementer:
from os import open as open_
# lets you use os.open without destroying the
# built in open() which returns file handles.
Du bruker Python3 var urllib i pakken. Begge formene er akseptable, og ingen form for import er å foretrekke fremfor den andre. Noen ganger når det er flere pakkekataloger involvert, kan du bruke den tidligere from x.y.z.a import s
.
I dette spesielle tilfellet med urllib-pakken er den andre måten import urllib.request
og bruk av urllib.request
slik standardbiblioteket bruker det på en ensartet måte.
I python 2.x kan du i det minste ikke gjøre import urllib2.urlopen
.
Du må gjøre from urllib2 import urlopen
.
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib2.urlopen
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named urlopen
>>> import urllib.request
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named request
>>>