Dziś zauważyłem coś dziwnego, co chciałbym wyjaśnić. Nie byłem w 100% pewny, jak to sformułować jako pytanie, więc google jest wykluczone. Moduł logowania nie ma dostępu do modułu logging.handlers z jakiegoś dziwnego powodu. Spróbuj sam, jeśli mi nie wierzysz:Dlaczego moduły Pythona czasami nie importują swoich podmodułów?
>>> import logging
>>> logging.handlers
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'handlers'
>>> import logging.handlers
>>> logging.handlers
<module 'logging.handlers' from '/usr/lib/python2.6/logging/handlers.pyc'>
Czy ktoś może wyjaśnić, dlaczego tak się dzieje?
Proszę nie używać 'from module import *'. To prawie zawsze błąd. –
Jeśli chcesz, aby wszystko w paczce zostało zaimportowane automatycznie, importuj je w __init__.py, zamiast ustawiać __all__ w __init__.py i robić "z importu paczek *" gdzieś. –
tak, masz rację! – shahjapan