亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python:使用argparse解析多種數據類型

Python:使用argparse解析多種數據類型

瀟瀟雨雨 2021-03-29 12:02:19
我嘗試使用argparse來學習它如何解析給定列表:parser = argparse.ArgumentParser()parser.add_argument('--ls', nargs='*', type=str, default = [])Out[92]: _StoreAction(option_strings=['--ls'], dest='ls', nargs='*', const=None, default=[], type=<type 'str'>, choices=None, help=None, metavar=None)args = parser.parse_args("--ls 'tomato' 'jug' 'andes'".split())argsOut[94]: Namespace(ls=["'tomato'", "'jug'", "'andes'"])args.lsOut[96]: ["'tomato'", "'jug'", "'ande'"]args.ls[0]Out[97]: "'tomato'"eval(args.ls[0])Out[98]: 'tomato'Q1:上面的作品,但是否有更好的方法來訪問列表中的值?然后我嘗試用Dictionary解析給定的字典:dict_parser = argparse.ArgumentParser()dict_parser.add_argument('--dict', nargs='*',type=dict,default={})Out[104]: _StoreAction(option_strings=['--dict'], dest='dict', nargs='*', const=None, default={}, type=<type 'dict'>, choices=None, help=None, metavar=None)arg2 = dict_parser.parse_args("--dict {'name':'man', 'address': 'kac', 'tags':'don'}")usage: -c [-h] [--dict [DICT [DICT ...]]]-c: error: unrecognized arguments: - - d i c t   { ' n a m e ' : ' m a n' ,   ' a d d r e s s ' :   ' k a c' ,   ' t a g s ' : ' d o n ' }To exit: use 'exit', 'quit', or Ctrl-D.An exception has occurred, use %tb to see the full traceback.SystemExit: 2那是行不通的。Q2:上面的字典如何工作?Q3:現在我要python my.py --ls tomato jug andes  --dict {'name':'man', 'address': 'kac', 'tags':'don'}被解析我怎么做?
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

import ast

dict_parser.add_argument('--dict', nargs='*',type=ast.literal_eval,default={})

args = dict_parser.parse_args(["--dict", "{'name':'man', 'address': 'kac', 'tags':'don'}"])


查看完整回答
反對 回復 2021-04-01
  • 2 回答
  • 0 關注
  • 401 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號