python - 将共享的“参数”模块合并到具有多个子模块的python程序中?
问题描述
我有一个程序program.py
,它依赖于一组共享一个公共参数模块 ( ) 的模块 ( module1.py
, , ... )。module2.py
parameters.py
每个模块都导入parameters.py
为from parameters import *
.
我想做的是创建许多代表不同模拟条件的参数模块(parameters1.py
, , ...),并通过使用标志运行parameters2.py
来修复将哪个参数模块导入模块(module1.py
, , ...) ,例如: module2.py
program.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,但没有发现与此问题有太大关系。也许我搜索错误。
解决方案
推荐阅读
- tableau-api - 如何通过表格中的参数字段设置过滤器值?
- python - 如何将值列表添加到嵌套字典列表中?
- reactjs - 在 react-native 中添加表单验证,删除多余的空格
- visual-c++ - C++ 如何使用 TinyExpr 解析字符串中的数学问题?
- docker - 为什么不通过仅在 docker-compose 中绑定卷来安装模块
- neo4j - neo4j:包含特定关系的最短路径
- kubernetes - 入口控制器本地集群
- spring - Tomcat 中的 LTPA 令牌(Spring 安全性)
- blazor - 在 Blazorise DataGrid 上强制刷新
- javascript - 从颜色选择器释放鼠标后调用函数