我有一个完美的工作,并使用argparse的一段代码。我一直在使用它几个月的工作没有任何问题。下面是一个例外。蟒蛇argparse停止工作
import argparse
import sys
import math
import random
# Setup command line arguments
parser = argparse.ArgumentParser(description='RF Profile Generator', formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('-o', dest='OutputFile', help='Output filename', required=True, type=argparse.FileType('w', encoding='utf-8'))
parser.add_argument('-a', dest='APPositions', nargs='+', type=float, help='Trackside AP position(s)', required=True)
parser.add_argument('-l', dest='TotalTrackLength', type=float, help='Length of the track (m)', required=True)
parser.add_argument('-p', dest='AttenuatorAddr', nargs='+', help='Programmable attenuator IP address(es)', required=True)
input("A")
# parse the command line arguments
# the parsed values will be stored in the corresponding variables defined by 'dest'
args = parser.parse_args()
input("B")
#More code to follow
不过,我跑了代码今天以以下的参数(这是我一直以来的做):
rf.py -o OutputFile -a 10 20 30 40 -l 600 -p 10.0.1.55
和控制台输出告诉我
"error: the following arguments are required: -o, -a, -l, -p"
我做不明白为什么这已停止工作。为了排除故障,我添加了2个输入命令,但代码永远不会到达input("B")
有人请告诉我这可能发生的一个可能的原因。 python的版本是3.4.1,并且在我上次运行此代码和现在运行之间还没有更新过。
非常感谢您
这很明显,_something_已经改变 - 除非你订阅货物崇拜信仰! – holdenweb
它在Python 3.6上为我工作 –
定义_“工作”_ - 参数规范清楚地表明参数_are_是必需的。 – holdenweb