所以,我编写了一个脚本,如果参数-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是一个样本组织名称,它可以是任何内容。
我在哪里犯错误?