Python中argparse模块--from参数名与关键字冲突问题求助
解决argparse使用--from参数的语法问题
问题核心:from是Python的保留关键字,不能直接作为对象属性名(比如args.from)来访问,这会触发语法错误,导致代码无法执行。
以下是两种可行的解决办法:
方法1:通过dest参数指定属性别名
在调用add_argument时,用dest参数给--from参数指定一个合法的属性名,后续通过这个别名访问参数值:
parser = argparse.ArgumentParser(prog='cache_wiki.py', description='Find shortest path between links') # 用dest指定别名start_from parser.add_argument('--from', required=True, dest='start_from', help='page to start search with') args = parser.parse_args() # 通过别名访问参数 print(args.start_from)
方法2:通过字典方式访问参数
利用args对象的__dict__属性(存储所有参数的字典),直接通过键名'from'取值:
parser = argparse.ArgumentParser(prog='cache_wiki.py', description='Find shortest path between links') parser.add_argument('--from', required=True, help='page to start search with') args = parser.parse_args() # 从__dict__字典中获取'from'对应的值 print(args.__dict__['from'])
内容的提问来源于stack exchange,提问作者Anna
相关产品推荐
相关产品推荐

