Python中能否通过from cities.*语法批量导入文件夹下的类?
Python中能否实现
from cities.* import NewYork, London, Berlin的导入方式? 首先明确:Python不支持from cities.* import NewYork, London, Berlin这种语法写法,直接写会触发语法错误。
不过你可以通过配置包的__init__.py文件来实现类似的简化导入效果,步骤如下:
- 在
cities目录下创建__init__.py文件(Python要求目录必须有这个文件才能被识别为包) - 在
__init__.py中添加以下代码,把各个城市模块里的类导入到包的命名空间中:
from .newyork import NewYork from .london import London from .berlin import Berlin
- 之后在
main.py里就可以用更简洁的方式导入这些类了:
# 按需导入指定类 from cities import NewYork, London, Berlin # 或者一次性导入所有暴露的类 from cities import *
补充说明:Python的导入规则里,from 模块名 import *是合法的,但from 包名.* import 具体成员属于语法不支持的写法,所以只能通过包的初始化文件来统一导出成员,实现类似的简化导入需求。
内容的提问来源于stack exchange,提问作者chickenman
相关产品推荐
相关产品推荐

