gpt4 book ai didi

python - 如何从Python中的配置文件读取argparser值?

转载 作者:行者123 更新时间:2023-12-01 02:03:13 26 4
gpt4 key购买 nike

我对我的脚本有很多争论。除了 argparser 之外,我希望用户还可以选择通过配置文件指定这些参数。

parser.add_argument('-a','--config_file_name' ...required=False)
parser.add_argument('-b' ...required=True)
parser.add_argument('-c' ...required=False)
....

此时我只需要实现以下内容的逻辑:

  • 用户可以在命令行中输入所有参数,或者

  • 他们可以输入第一个参数,指定文件名,代码会填充/覆盖配置文件中的所有剩余可选参数。

如何实现这一目标?

最佳答案

我认为这不应该由 argparse 来处理。Argparse simple 需要检查配置文件的参数是否存在并将其传递给您的程序。

您需要在程序中处理此问题,这意味着执行以下操作:

...
arguments=parser.parse_args()
if len(arguments.config_file_name):
f=fopen(arguments.config_file_name,'rb')
conf_settings = f.read()
for line in conf_settings:
#parse your config format here.

这样,如果设置了 config_file_name,您将覆盖任何可能的给定参数,如果没有,程序将使用用户指定的参数执行。

例如:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("a")
args = parser.parse_args()
if args.a:
#We're getting config from config file here...
else:
#We're getting config from the command line arguments
#Now we can call all functions with correct configuration applied.

关于python - 如何从Python中的配置文件读取argparser值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49373958/

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