Je me demande s'il y a une différence entre le fragment de code
from urllib import request
et le fragment
import urllib.request
ou s'ils sont interchangeables. S'ils sont interchangeables, quelle est la syntaxe "standard"/"préférée"/"préférée" (s'il y en a une) ?
Merci !
Cela dépend de la façon dont vous voulez accéder à l'importation lorsque vous y faites référence.
from urllib import request
# access request directly.
mine = request()
import urllib.request
# used as urllib.request
mine = urllib.request()
Vous pouvez également aliaser les choses vous-même lorsque vous importez pour plus de simplicité ou pour éviter de masquer les inserts intégrés :
from os import open as open_
# lets you use os.open without destroying the
# built in open() which returns file handles.
Vous utilisez Python3 étaient urllib dans le paquet. Les deux formes sont acceptables et aucune forme d'importation n'est préférée à l'autre. Parfois, lorsque plusieurs répertoires de paquets sont impliqués, vous pouvez utiliser l'ancienne forme from x.y.z.a import s
.
Dans ce cas particulier avec le paquet urllib, la deuxième forme import urllib.request
et l'utilisation de urllib.request
est la façon dont la bibliothèque standard l'utilise uniformément.
Dans python 2.x au moins, vous ne pouvez pas faire import urllib2.urlopen
.
Vous devez faire 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
>>>