我在编写支持读取包含 toml 包配置文件的文件路径的 add 参数时遇到了一些麻烦。我需要写的是 CLI 的一个简单命令,其中可以将配置文件指定为 CLI 的选项: m2mtest --config <file_path> -
这部分我认为是:
parser.add_argument('--config', type=argparse.FileType('r'), help='A configuration file for the CLI', default = [ f for f in os.listdir( '.' )
if os.path.isfile( f ) and f == "m2mtest_config.toml"],
dest = 'config' )
if parser.config is not None:
dict = toml.load(parser.config, _dict=dict)
我不确定我是否写对了..我需要做的是:
如果未指定 --config 选项,则在当前目录中查找名为 m2mtest_config.toml 的文件;如果存在这样的文件,请使用它。
如果不存在这样的文件,则该 CLI 运行不使用配置文件——要使用的选项是命令行中指定的选项。
如果在命令行和配置文件中都指定了选项,则命令行值会覆盖配置文件值
我真的很想得到一些帮助来实现这条线。我知道我不需要解析 toml 配置文件的文件,因为 toml.load(f,_dict=dict) 会这样做并将其保存到字典中。
非常感谢