gpt4 book ai didi

Python:在字典中存储设置与 argparse.Namespace

转载 作者:行者123 更新时间:2023-11-30 23:16:04 25 4
gpt4 key购买 nike

我正在做一些用 Python 编写的科学模拟工作。我继承了代码。 sim 有几个(~15-20)个参数,这些参数在不同的运行中可能会有所不同——主要是数字变量,加上一些 bool 标志。主 Python 脚本将这些参数作为命令行参数,并使用 argparse 将它们存储在 argparse.Namespace 对象中。

实际上,参数值不是在命令行中输入,而是存储在 shell 脚本中,以便于重用。除了使用相关命令行参数运行 Python 脚本之外,这些脚本没有任何实际用途。

我想将参数集存储在人类可读(特别是科学家可读)和 Python 可解析的配置文件中,并完全省去 shell 脚本和 argparse 。这样做的结果是我会将参数存储在字典中而不是命名空间中。

在字典中存储设置有什么缺点吗?除了 params.spamparams['spam'] 稍微简洁一点之外?

最佳答案

dictargparse 最终用来托管其命名空间的东西,因此,直接使用它是没有问题的。

模块ConfigParserhttps://docs.python.org/2/library/configparser.html ,将解析一个相当正常的配置文件并将设置存储在其中。然而,它是按部分排列的。要提取单个部分 'foo',给定填充的配置解析器对象 cp

adict = dict(cp.items('foo'))

会起作用的。

为了更方便的访问语法,您可以使用 http://code.activestate.com/recipes/52308-the-simple-but-handy-collector-of-a-bunch-of-named/ (老歌,但金曲:-)...

关于Python:在字典中存储设置与 argparse.Namespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27871769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com