[英]Python modules import *
我有一个称为命令的模块文件夹。
这些模块每个都有一个唯一的命名函数。
在主目录中,有一个commands文件夹,我有一个main.py
我可以使用from commands import *
导入所有模块
有没有一种方法可以导入所有模块中的所有功能,而无需分别导入它们。 即使使用for循环也可以。
假设您有一个目录,其中包含一些python文件(.py)和一个main.py
(在同一目录内),您希望其他文件的所有功能都可以使用该目录。 这是一种幼稚的方法(确实是一个坏主意),当然,要注意名称冲突:
在main.py
内部:
from os import listdir
from importlib import import_module
for file in listdir('.'):
if file.endswith('.py') and file not in __file__:
module_name = file[:file.index('.py')]
# if you want all functions to just this file (main.py) use locals(); if you want the caller of main.py to have access, use globals()
globals().update(import_module(module_name).__dict__)
# Functions defined in all other .py files are available here
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.