![](/img/trans.png)
[英]PyImport_Import failing when submodules are imported in a python module
[英]How to not import imported submodules in a Python module?
在我的 Python 模块中,我经常使用子模块,例如datetime
。 问题是这些模块可以从外部访问:
# module foo
import datetime
def foosay(a):
print "Foo say: %s" % a
来自 IPython:
import foo
foo.datetime.datetime.now()
我想知道如何正确隐藏foo
内部业务的子模块。
我天真地认为import datetime as _datetime
甚至import datetime as __datetime
,但这不是很令人愉快的解决方案。 我也读过__all__
,但它只涉及使用from foo import *
。
您可以在模块 foo 中使用它的函数中执行导入日期时间:
def foodate():
import datetime
print datetime.datetime.now()
def foosay(a):
print "Foo say: %s" % a
现在导入 foo 不会导入日期时间。
编辑:您还可以通过不导入整个 datetime 模块来减少内存占用,只导入您需要的方法/函数:
from datetime.datetime import now
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.