如何打印n个可选和所需参数的数量-H和对齐
我的问题
我正在使用ArgParse模块来解析输入参数。其中两个题为需要参数 & 可选参数组用于在第一个位置维持必需的参数,然后可选参数。
我的第一个问题:
用法消息不包含所有开关。
usage: logger_parser.py [-h] -name Name
-identification_number Id -email
Email [-address]
[-sex]
第二期:
所需的参数未完全格式化-h选项
Required arguments:
-name Name Name.
- identification_number
Id.
-email Email.
第三期:
可选参数组并未显示其所有参数,但仅显示2个参数,尽管我有四个参数。
Optional arguments:
-address Address.
-sex Sex.
代码
以下是我的示例代码:
import argparse
parser = argparse.ArgumentParser(
description="Employee Enrollmeny."
# add_help=False
)
parser._action_groups.pop()
requiredArgument = parser.add_argument_group(
'Required arguments'
)
optionalArgument = parser.add_argument_group(
'Optional arguments'
)
requiredArgument.add_argument(
'-name',
type=str,
required=True,
help='Name.'
)
requiredArgument.add_argument(
'-identification_number',
type=str,
required=True,
help='Id.'
)
requiredArgument.add_argument(
'-email',
type=str,
required=True,
help='Email.'
)
optionalArgument.add_argument(
'-address',
type=str,
metavar='',
help='Address.'
)
optionalArgument.add_argument(
'-sex',
type=str,
metavar='',
help='Sex'
)
optionalArgument.add_argument(
'-age',
type=str,
metavar='',
help='Age'
)
optionalArgument.add_argument(
'-h',
type=str,
action='help',
metavar='',
help='show this help message and exit'
)
args = parser.parse_args()
print(args.name)
输出
usage: logger_parser.py [-h] -name Name
-identification_number Id -email
Email [-address]
[-sex]
Update employee info
Required arguments:
-name Name Name.
- identification_number
Id.
-email Email.
Optional arguments:
-address Address.
-sex Sex.
预期输出
usage: logger_parser.py [-h] -name Name
-identification_number Id -email
Email [-address]
[-sex] [-age]
Update employee info.
Required arguments:
-name Name Name.
- identification_number Id.
-email Email.
Optional arguments:
-address Address.
-sex Sex.
-age Age
-help show this help message and exit
My Issue
I'm using argparse module to parse input arguments. Where two-argument Required arguments
& Optional arguments groups are being used to maintain Required arguments at the first position then Optional arguments.
My first issue:
Usage message does not contain all the switches.
usage: logger_parser.py [-h] -name Name
-identification_number Id -email
Email [-address]
[-sex]
Second issue:
Required arguments are not fully formatted with -h option
Required arguments:
-name Name Name.
- identification_number
Id.
-email Email.
Third issue:
Optional argument group does not show all arguments it has, shows only 2 arguments, though I have four arguments.
Optional arguments:
-address Address.
-sex Sex.
Code
The following is my sample code:
import argparse
parser = argparse.ArgumentParser(
description="Employee Enrollmeny."
# add_help=False
)
parser._action_groups.pop()
requiredArgument = parser.add_argument_group(
'Required arguments'
)
optionalArgument = parser.add_argument_group(
'Optional arguments'
)
requiredArgument.add_argument(
'-name',
type=str,
required=True,
help='Name.'
)
requiredArgument.add_argument(
'-identification_number',
type=str,
required=True,
help='Id.'
)
requiredArgument.add_argument(
'-email',
type=str,
required=True,
help='Email.'
)
optionalArgument.add_argument(
'-address',
type=str,
metavar='',
help='Address.'
)
optionalArgument.add_argument(
'-sex',
type=str,
metavar='',
help='Sex'
)
optionalArgument.add_argument(
'-age',
type=str,
metavar='',
help='Age'
)
optionalArgument.add_argument(
'-h',
type=str,
action='help',
metavar='',
help='show this help message and exit'
)
args = parser.parse_args()
print(args.name)
Output
usage: logger_parser.py [-h] -name Name
-identification_number Id -email
Email [-address]
[-sex]
Update employee info
Required arguments:
-name Name Name.
- identification_number
Id.
-email Email.
Optional arguments:
-address Address.
-sex Sex.
Expected Output
usage: logger_parser.py [-h] -name Name
-identification_number Id -email
Email [-address]
[-sex] [-age]
Update employee info.
Required arguments:
-name Name Name.
- identification_number Id.
-email Email.
Optional arguments:
-address Address.
-sex Sex.
-age Age
-help show this help message and exit
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论