Jestem początkującym pytonem i mam problem ze zrozumieniem instrukcji importu i jej odmian.Instrukcja importowania python semantyka
Załóżmy, że używam modułu lxml do skrobania witryn.
Przykłady pokazują,
from lxml.html import parse
parse('http://somesite')
przewodnik redakcyjny pyton Google preferuje podstawowe instrukcji import, w celu zachowania przestrzeni nazw. Wolałbym, aby to zrobić, ale gdy próbuję:
import lxml
lxml.html.parse('http://somesite')
otrzymuję następujący komunikat o błędzie:
AttributeError: 'module' object has no attribute 'html'
Czy ktoś może mi pomóc zrozumieć, co się dzieje? Wolałbym używać modułów w/w ich przestrzeniach nazw, ale potrzebuję pomocy w zrozumieniu semantyki.
Bardzo doceniane.
Ale wyjaśnij, dlaczego to działa. –
Czy powinienem myśleć o lxml jako pakiecie? Czy istnieje jakiś spójny sposób, aby dowiedzieć się, jakie moduły są automatycznie ładowane do mojego programu? –
@TravisLelue: W Pythonie katalog zawierający '__init __. Py' jest pakietem. Tak więc 'lxml' jest pakietem. Moduł to dowolny plik '.py' w pakiecie. Moja edycja (miejmy nadzieję) wyjaśnia, w jaki sposób można dowiedzieć się, jakie moduły automatycznie zostaną zaimportowane do przestrzeni nazw pakietu. – unutbu