从 PEP 328,http: //www.python.org/dev/peps/pep-0328/#rationale-for-relative-imports你实际上应该避免命名以“点”开头的 python 模块,因为它意味着相对导入Python。
如果你真的坚持这样做,你可以,但你必须使用该imp
模块。
示例用法:-
import imp
with open('.secret/__init__.py', 'rb') as fp:
secret = imp.load_module('.secret', fp, '.secret/__init__.py', \
('.py', 'rb', imp.PY_SOURCE))
因此,对于您要从中加载值的用例db.py
,它看起来像这样:-
import imp
with open('.secret/db.py', 'rb') as fp:
db = imp.load_module('.secret', fp, '.secret/db.py', \
('.py', 'rb', imp.PY_SOURCE))
print db.DB_PASSWORD # This will print out your DB_PASSWORD's value. Or use it whichever way you want.
虽然不会建议。