命令行参数采用错误输入

时间:2018-03-15 08:21:58

标签: python

所以,我编写了一个脚本,如果参数-json设置为True,则生成配置文件和json文件。我的代码适用于所有情况,除非我明确地将-json参数传递为False。它继续生成json文件。

def parse_args():
    parser = argparse.ArgumentParser(description='Analyze a github repo')
    parser.add_argument('org', nargs='?', help = 'name of the organisation', default='twitter')

    parser.add_argument('--json', dest='json', type=bool, help='flag to specify if a json file is to be created', nargs='?', default=False, const=False)
    args = parser.parse_args()
    return args


def main():
    if sys.argv[1] == '':
        err= 'The script must be run with atleast one argument'
        sys.stderr.write(err)
        sys.exit(1)
    print(len(sys.argv))
    args = parse_args()
    org_name=''
    for e in str(args.org):
        if e.isalpha():
        org_name+=e
    print(args.json)
    if args.json==True:
        create_json(org_name)
    create_config(args.org, args.json)

我将脚本运行为:

  

python3 script.py twitter --json False

其中twitter是一个样本组织名称,它可以是任何内容。

我在哪里犯错误?

0 个答案:

没有答案