繁体   English   中英

使用配置脚本的多种变体运行 python 脚本的最佳实践

[英]Best Practice to run python script with multiple variations of config script

我经常遇到以下情况:我有一个包含各种参数的脚本config.py 然后我运行另一个script.py ,它从config.py导入参数并执行一些操作。 在某些时候,我希望使用config.py的多种变体来运行script.py 我目前的方法是将script.py转换为 function 并将其应用于每个所需的参数组合。 为此,我需要创建另一个添加样板代码的脚本map_script.py

说明的最小示例:

配置文件

PARAMETER = 1

脚本.py

import config as conf
print(conf.PARAMETER**2)

map_script.py

desired_configurations = [1,2,3]
def map_function(PARAMETER):
    print(PARAMETER**2)

for PARAMETER in desired_configurations:
    map_function(PARAMETER)

鉴于这样的 config.py 和 script.py 已经存在,我会对处理这个问题的最优雅的方式感兴趣。 此外,如果以这种方式设置它被认为是最佳实践,或者是否应该首先将 script.py 制定为 function,我会感兴趣。

编辑:我想改变配置文件中参数的某个子集。 所以为每个组合创建一个单独的配置文件似乎也很麻烦

最佳实践是有一个文件config.json文件,其中包含您所有的参数选择。 这是一个例子:

{"desired_configurations": [1,2,3]}

然后一个script.pt像这样:

import json
desired_configurations = json.load(open('config.json', 'r'))['desired_configurations']

def map_function(PARAMETER):
    print(PARAMETER**2)


for PARAMETER in desired_configurations:
    map_function(PARAMETER)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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