A few lines of code about __all__
dates/ - __init__.py - tomorrow.py - tomorrow_all.py
tomorrow.py
:
import datetime def tomorrow(): return (datetime.datetime.now() + datetime.timedelta(days=1)).date()
tomorrow_all.py:
import datetime __all__ = ['tomorrow'] def tomorrow(): return (datetime.datetime.now() + datetime.timedelta(days=1)).date()
- Without
__all__
__init__.py
:
from .tomorrow import *
>>> from dates import tomorrow >>> tomorrow() datetime.date(2015, 2, 18) >>> from dates import datetime >>> datetime <module 'datetime' from '/Users/nanvel/myprojects/tests/all_test/.env/lib/python2.7/lib-dynload/datetime.so'>
- With
__all__
__init__.py
:
from .tomorrow_all import *
>>> from dates import tomorrow >>> tomorrow() datetime.date(2015, 2, 18) >>> from dates import datetime Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: cannot import name datetime
__all__
is not required
__init__.py
:
from .tomorrow import tomorrow
>>> from dates import tomorrow >>> tomorrow() datetime.date(2015, 2, 18) >>> from dates import datetime Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: cannot import name datetime
Licensed under CC BY-SA 3.0