繁体   English   中英

Python模块导入*

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM