我想使用argparse取一些(3)整數參數,並將它們用作程序體中的變量。運行下面的代碼,每個變量都存儲在一個元素列表中。這當然不是什麼大問題,但是可以設置解析器來將每個值放入一個簡單的整數變量中嗎?可以argparse存儲位置數參數作爲簡單的變量?
import argparse
def main():
parser = argparse.ArgumentParser(description='three positional integer arguments.')
parser.add_argument('picks', type=int, nargs='+', default=10,
help='number of selections per execution')
parser.add_argument('minchunk', type=int, nargs='+', default=2,
help='min chunk size')
parser.add_argument('maxchunk', type=int, nargs='+', default=8,
help='max chunk size')
args = parser.parse_args(['1', '2', '3'])
print args
return 0
如果你這樣做,你突然得到完全不同和不兼容的類型取決於有多少數字傳遞。如果你想支持多個值,只需要使用一個列表。 – delnan