何时/何时使用argparse检查用户输入?

时间:2017-04-12 20:43:27

标签: python argparse

我有以下问题:假设我有以下代码,我需要设置一些变量,根据哪个选项解析到程序:

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="Lorem ipsum")
    parser.add_argument('application', type=str, choices=['aaa', 'bbb', 'ccc', 'ddd'])
    parser.add_argument('-e', '--environment', type=str, default='prod', choices=['prod', 'dev'])
    args = parser.parse_args()

我必须根据所选应用程序设置变量foobarbaz,并根据-e选项设置quz

现在我的问题是,我应该在哪里进行这些检查?在if __main__ ...声明中?在我的main功能中?

此外,由于可能的值是固定的(即对于aaa,foo将是2342),这样做的正确方法是什么?使用可能的值为每个应用程序选项编写一个字典并从那里读取?

例如:

opt_aaa = {
    foo = 2342
    bar = 'some_str'
    baz = 5
}

说实话,我只能硬编码值并调用main函数,但我更喜欢学习pythonic和正确的方法。

您的任何建议都将得到真正的赞赏!谢谢!

0 个答案:

没有答案