gpt4 book ai didi

python argparse 停止工作

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:21 25 4
gpt4 key购买 nike

我有一段非常好的代码,它使用了 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,从上次运行此代码到现在尚未更新。

非常感谢

最佳答案

required=True出现在对 add_argument 的所有调用中,我的结论是

  • 其他人更改了您的程序,或者
  • 这是您第一次尝试在不提供这些参数的情况下运行它

但是,我确实发现使用 --help 选项运行程序会给出以下输出,这很奇怪:

usage: so16.py [-h] -o OUTPUTFILE -a APPOSITIONS [APPOSITIONS ...] -l
TOTALTRACKLENGTH -p ATTENUATORADDR [ATTENUATORADDR ...]

RF Profile Generator

optional arguments:
-h, --help show this help message and exit
-o OUTPUTFILE Output filename (default: None)
-a APPOSITIONS [APPOSITIONS ...]
Trackside AP position(s) (default: None)
-l TOTALTRACKLENGTH Length of the track (m) (default: None)
-p ATTENUATORADDR [ATTENUATORADDR ...]
Programmable attenuator IP address(es) (default: None)

我很困惑为什么该消息暗示必需的参数是可选的。

关于python argparse 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43514006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com