Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态模块Python_Python_Module - Fatal编程技术网

动态模块Python

动态模块Python,python,module,Python,Module,我有一个程序,使用文件操作创建一个名为“cool”的模块。我稍后会说import cool,然后使用创建的cool模块 这是我的目录 project/ main.py modules/ maker.py cool/ #this folder and its contents was made by maker.py __init__.py coolm.py 如果我想将程序转换为.

我有一个程序,使用文件操作创建一个名为“cool”的模块。我稍后会说
import cool
,然后使用创建的
cool
模块

这是我的目录

project/
    main.py
    modules/
        maker.py
        cool/          #this folder and its contents was made by maker.py
            __init__.py 
            coolm.py
如果我想将程序转换为
.exe
格式,此策略将不再有效。有人知道另一种技术吗


注意:我不能使用
exec
来使用
cool
模块。

在您需要时导入模块,如下所示:

coolmod = __import__('coolm')
coolm.someproperty
或者,您可以尝试:

import importlib
coolmod = importlib.import_module('coolm', 'cool')

这允许您将包名指定为第二个参数。

故障发生在哪里?写出模块?导入它?在其他地方?动态创建模块似乎不是一个好主意,考虑到如果有人使用您的代码同时运行多个进程,您可能无法获得预期的模块版本。