如何给 python 程序两个可选的命令行整数参数?
How to give a python program two optional command-line integer arguments?
我正在帮助一位朋友编写一些 Python 代码。我正在制作一个菜单,我想使尺寸可定制。我一直在玩 argparse,但我没有运气。我的想法是 menu.py
默认为 80*24,并将 menu.py 112 84
设置为 112*84。我现在的代码在这里:
import argparse
args = argparse.ArgumentParser(description='The menu')
width = length = 0
args.add_argument('--width', const=80, default=80, type=int,
help='The width of the menu.', nargs='?', required=False)
args.add_argument('--length', const=24, default-24, type=int,
help='The length of the menu.', nargs='?', required=False)
inpu = args.parse_args()
width = inpu.width
length = inpu.length
print(width)
print(length)
如何使用 argparse
执行此操作?
与(清理了一下):
args.add_argument('-w','--width', const=84, default=80, type=int,
help='The width of the menu.', nargs='?')
args.add_argument('-l','--length', const=28, default=24, type=int,
help='The length of the menu.', nargs='?')
我希望
menu.py => namespace(length=24, width=80)
menu.py -w -l -w => namespace(length=28, width=84)
menu.py -w 23 -l 32 => namespace(length=32, width=23)
如果我将参数更改为
args.add_argument('width', default=80, type=int,
help='The width of the menu.', nargs='?')
args.add_argument('length', default=24, type=int,
help='The length of the menu.', nargs='?')
我希望
menu.py => namespace(length=24, width=80)
menu.py 32 => namespace(length=24, width=32)
menu.py 32 33 => namespace(length=33, width=32)
您还可以将一个参数与 nargs='*'
一起使用,并获得一个整数列表 namespace=[32, 34]
,然后您可以将其拆分为 length
和 width
。
我正在帮助一位朋友编写一些 Python 代码。我正在制作一个菜单,我想使尺寸可定制。我一直在玩 argparse,但我没有运气。我的想法是 menu.py
默认为 80*24,并将 menu.py 112 84
设置为 112*84。我现在的代码在这里:
import argparse
args = argparse.ArgumentParser(description='The menu')
width = length = 0
args.add_argument('--width', const=80, default=80, type=int,
help='The width of the menu.', nargs='?', required=False)
args.add_argument('--length', const=24, default-24, type=int,
help='The length of the menu.', nargs='?', required=False)
inpu = args.parse_args()
width = inpu.width
length = inpu.length
print(width)
print(length)
如何使用 argparse
执行此操作?
与(清理了一下):
args.add_argument('-w','--width', const=84, default=80, type=int,
help='The width of the menu.', nargs='?')
args.add_argument('-l','--length', const=28, default=24, type=int,
help='The length of the menu.', nargs='?')
我希望
menu.py => namespace(length=24, width=80)
menu.py -w -l -w => namespace(length=28, width=84)
menu.py -w 23 -l 32 => namespace(length=32, width=23)
如果我将参数更改为
args.add_argument('width', default=80, type=int,
help='The width of the menu.', nargs='?')
args.add_argument('length', default=24, type=int,
help='The length of the menu.', nargs='?')
我希望
menu.py => namespace(length=24, width=80)
menu.py 32 => namespace(length=24, width=32)
menu.py 32 33 => namespace(length=33, width=32)
您还可以将一个参数与 nargs='*'
一起使用,并获得一个整数列表 namespace=[32, 34]
,然后您可以将其拆分为 length
和 width
。