1. 程式人生 > >argparse模組中的action引數

argparse模組中的action引數

用argparse模組讓python指令碼接收引數時,對於True/False型別的引數,向add_argument方法中加入引數action=‘store_true’/‘store_false’。
顧名思義,store_true就代表著一旦有這個引數,做出動作“將其值標為True”,也就是沒有時,預設狀態下其值為False。反之亦然,store_false也就是預設為True,一旦命令中有此引數,其值則變為False。

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument(
'--foo', action='store_true') >>> parser.add_argument('--bar', action='store_false') >>> parser.add_argument('--baz', action='store_false') >>> parser.parse_args('--foo --bar'.split()) Namespace(bar=False, baz=True, foo=True)

本人測試的另一個指定default的例子:
程式碼如下:

import argparse

parser =
argparse.ArgumentParser(description="description") parser.add_argument('--pa','-a',action='store_true') parser.add_argument('--pb','-b',action="store_true",default=True) parser.add_argument('--pc','-c',action="store_true",default=False) parser.add_argument('--pd','-d',action='store_false') parser.
add_argument('--pe','-e',action="store_false",default=True) parser.add_argument('--pf','-f',action="store_false",default=False) args = parser.parse_args() print(args)

輸出結果如下:
在這裡插入圖片描述
分析:
可以看到如果指定引數出現,則action_true/false起作用,如果引數不出現default起作用。

參考博文:

  1. 小知識:action=‘store_true’(argparse模組中ArgumentParser物件的add_argument方法)
  2. action=‘store_true’