首页 > 解决方案 > 将共享的“参数”模块合并到具有多个子模块的python程序中?

问题描述

我有一个程序program.py,它依赖于一组共享一个公共参数模块 ( ) 的模块 ( module1.py, , ... )。module2.pyparameters.py

每个模块都导入parameters.pyfrom parameters import *.

我想做的是创建许多代表不同模拟条件的参数模块(parameters1.py, , ...),并通过使用标志运行parameters2.py来修复将哪个参数模块导入模块(module1.py, , ...) ,例如: module2.pyprogram.py

python program.py parameters33.py

这将program.py通过导入parameters33.py其所有依赖项(module1.py, module2.py, ...)来运行。

任何有关如何实现此模式的建议或指导将不胜感激。到目前为止,我的想法似乎很老套,让我觉得有更好的方法。

例如,我想像这样python program.py parameters33.py运行program.py

import sys
params = sys.argv[1]
import module1 params
...
import modulen params
def do_stuff("modules and params"):
    return "something"

和 ( modulen.py):

import sys
params = sys.argv[1]
from params import *
def do_smaller_stuff("params"):
    return "something smaller"

这是一个合适的结构吗?或者我是否缺少为此类任务设计的某些功能,这些功能取决于一组基础参数?

我已阅读https://docs.python.org/3/tutorial/modules.html并搜索了 stackoverflow,但没有发现与此问题有太大关系。也许我搜索错误。

标签: pythonpython-import

解决方案


推荐阅读