[Python] import urllib, perché non aggiungere i submodules nel file __init__.py?

Pietro peter.zamb a gmail.com
Lun 27 Gen 2014 14:04:40 CET


Buongiorno a tutti,

voglio utilizzare il modulo urllib presente nella standard library,
sto utilizzando: python3.3.3
(http://docs.python.org/3.3/library/urllib.html).

ho notato che se importo la libreria con:

In [1]: import urllib

In [2]: urllib.request
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-615cd424e6d8> in <module>()
----> 1 urllib.request

AttributeError: 'module' object has no attribute 'request'

In [3]: dir(urllib)
Out[2]:
['__builtins__',
 '__cached__',
 '__doc__',
 '__file__',
 '__initializing__',
 '__loader__',
 '__name__',
 '__package__',
 '__path__',
 'parse']

riesco ad importare il module request con:

In [4]: from urllib import request

o come riportato dalla documentazione
(http://docs.python.org/3.3/library/urllib.request.html#examples) con:

In [5]: import urllib.request

La domanda è: non potrebbe aver senso modificare il file __init__.py
presente in urllib per poter importare la libreria anche solo con un
`import urllib`?
Perché è stata fatta questa scelta?
C'é qualcosa di sbaglio nell'importare la libreria semplicemente con:
`import urllib`, se si cosa?

Voi cosa ne pensate?

Buona giornata

Pietro


Maggiori informazioni sulla lista Python