1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
| from argparse import ArgumentParser, Namespace
parser = ArgumentParser()
parser.add_argument('echo', help='Echos the given string') parser.add_argument('square', help='Squares a given number', type=int)
args:Namespace = parser.parse_args() print(args.echo) print(args.square ** 2)
''' # 命令行操作 python main.py hello '''
from argparse import ArgumentParser, Namespace
parser = ArgumentParser()
parser.add_argument('square', help='Squares a given number', type=int) parser.add_argument('-v', '--verbose', help='Provides a verbose desc', action='store_true')
args:Namespace = parser.parse_args() if args.verbose: print(f'{args.square} squared is: {args.square ** 2}') else: print(args.square ** 2)
''' # 命令行操作 python main.py 10 out : 100
python main.py 10 -v out : 10 squared is: 100
python main.py -v 10 ##参数位置不重要 out : 10 squared is: 100
python main.py 10 --verbose out : 10 squared is: 100 '''
from argparse import ArgumentParser, Namespace
parser = ArgumentParser()
parser.add_argument('square', help='Squares a given number', type=int) parser.add_argument('-v', '--verbose', help='Provides a verbose desc', type=int, choices=[0,1,2])
args:Namespace = parser.parse_args() if args.verbose == 0: print('Option 1') elif args.verbose == 1: print('Option 2') elif args.verbose == 2: print('Option 3') print(args.square ** 2)
''' # 命令行操作 python main.py 2 -v out : 系统报错 expected one argument
pythob main.py 2 -v 0 out : Option 1 4
pythob main.py 2 -v 4 out : invalid choice : 4 '''
from argparse import ArgumentParser, Namespace
parser = ArgumentParser()
parser.add_argument('square', help='Squares a given number', type=int, default=0, nargs='?') parser.add_argument('-v', '--verbose', help='verbose descroption. Use -vv for extra verbose', action='count')
args:Namespace = parser.parse_args()
result: int = args.square ** 2 if args.verbose == 1: print(f'The result is :{result}') elif args.verbose == 2: print(f'{args.square} ** {args.square} = {result}') else: print(result) ''' # 命令行操作 python main.py out : 0
pythob main.py 2 -v out : The result is: 4
python main.py 2 -vv out : 2 **2 = 4
python main.py 2 -vvvv out : 4
python main.py 2 --verbose --verbose out : 2 **2 = 4 '''
from argparse import ArgumentParser, Namespace
parser = ArgumentParser() group = parser.add_mutually_exclusive_group() parser.usage = "Use it like this"
parser.add_argument('a', help='The base value', type=int) parser.add_argument('b', help='The exponent', type=int) group.add_argument('-v', '--verbose', help='Provides a verbose descroption. Use -vv for extra verbose', action='count') group.add_argument('-s', '--silence', help='Generate a silent version of the output', action='store_true')
args: Namespace = parser.parse_args() result:int = args.a ** args.b
if args.silence: print('Silenced!') else: match args.verbose: case 1: print(f'The result is {result}') case 2: print(f'{args.a0} ** {args.b} == {result}') case _: print(result)
|