Python 限制命令行选项的值

Python 限制命令行选项的值,python,command-line-arguments,argparse,Python,Command Line Arguments,Argparse,如何限制argparse选项的值 在下面的代码sau中,选项应只接受0或1的数字,而bg应只允许整数。我如何实现这一点 import os import sys, getopt import argparse def main (): parser = argparse.ArgumentParser(description='Test script') parser.add_argument('-sau','--set',action='store',dest='set',he

如何限制argparse选项的值

在下面的代码
sau
中,选项应只接受
0
1
的数字,而
bg
应只允许整数。我如何实现这一点

import os
import sys, getopt
import argparse

def main ():
    parser = argparse.ArgumentParser(description='Test script')
    parser.add_argument('-sau','--set',action='store',dest='set',help='<Required> Set flag',required=True)
    parser.add_argument('-bg','--base_g',action='store',dest='base_g',help='<Required> Base g',required=True)
    results = parser.parse_args() # collect cmd line args
    set = results.set
    base_g = results.base_g

if __name__ == '__main__':
    main()
导入操作系统
导入sys,getopt
导入argparse
defmain():
parser=argparse.ArgumentParser(description='Test script')
parser.add_参数('-sau','-set',action='store',dest='set',help='set flag',required=True)
parser.add_参数('-bg','-base_g',action='store',dest='base_g',help='base g',required=True)
结果=parser.parse_args()#collect cmd line args
set=results.set
base_g=results.base_g
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
您可以使用的和参数。要仅接受
'0'
'1'
,请执行以下操作:

parser.add_argument(…, choices={"0", "1"})
parser.add_argument(…, type=int)
parser.add_argument(…, type=int, choices={0, 1})
要仅接受整数,请执行以下操作:

parser.add_argument(…, choices={"0", "1"})
parser.add_argument(…, type=int)
parser.add_argument(…, type=int, choices={0, 1})
请注意,在
选项
中,必须以指定为
类型
参数的类型提供选项。因此,要检查整数并只允许
0
1
,您需要执行以下操作:

parser.add_argument(…, choices={"0", "1"})
parser.add_argument(…, type=int)
parser.add_argument(…, type=int, choices={0, 1})
例如:

>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> _ = parser.add_argument("-p", type=int, choices={0, 1})
>>> parser.parse_args(["-p", "0"])
Namespace(p=0)

不要屏蔽内置的:
set=results.set
(您可以看到语法高亮显示的颜色)另外,如果需要参数,则它们不应该是标志,而应该是位置参数。检查本教程