如何从Python命名空间/包中导入所有内容?
从Python包中导入所有内容并不是一个好主意,因为包不是超级模块–它们是一组分组在一起的模块。所以你应该只在那个文件中导入需要的东西。此外,将包中的所有内容都导入到全局命名空间中会导致命名的增加,很可能会在这些名称之间发生冲突。
话虽如此,仍然可以使用一些方法来做到这一点。首先是手动使用导入语句导入包中的所有内容。另一种方法是,在文档中建议使用的方法,如果在__init__.py
文件中有一个命名为__all__
的字符串列表,当一个人从pack import *
时,这个列表中的所有模块/子包名称都被导入。因此,您需要创建一个字符串列表,其中包含包中的所有内容,然后执行“from packageName import*”来导入此模块中的所有内容,以便在其他地方导入此模块时,所有这些内容也被导入到此命名空间中。
阅读更多:Python 教程