除了几个方法之外,从模块导入所有内容

Nic*_*mer 10 python import

除了一些明确指定的方法之外,是否可以从现有的Python模块中获取importeverything(*)?

(背景:针对Python的推荐做法是在普通FENICSfrom dolfin import *几个名称中包含字符串"Test"虽然(例如,方法.TestFunction())和被误认为是单元测试的鼻子.)

Ale*_*kov 10

如果您无法访问模块,也可以从全局命名空间中删除这些方法或变量.以下是如何做到这一点:

to_exclude = ['foo']

from somemodule import *

for name in to_exclude:
    del globals()[name]
Run Code Online (Sandbox Code Playgroud)


kar*_*ikr 9

是的,您可以定义__all__模块

__all__ = ["echo", "surround", "reverse"] #Or whatever your module names are
Run Code Online (Sandbox Code Playgroud)

到具有这些模块的文件,或者__init__.py要从中导入的包的文件.

现在

from module import * 
Run Code Online (Sandbox Code Playgroud)

导入指定的模块__all__