【发布时间】:2015-06-18 00:29:33
【问题描述】:
我正在尝试调试现有脚本,但在运行脚本时出现以下错误。 ./check_tandbergvideo CE s 10.50.174.138
此脚本尝试检查端点是否已注册并返回状态。
Traceback(最近一次通话最后一次):文件“./check_tandbergvideo”, 第 156 行,在 main() 文件“./check_tandbergvideo”中,第 114 行, 在主 EP = getXML(sys.argv[3],sys.argv[1]) 文件中 “./check_tandbergvideo”,第 79 行,在 getXML H323Status = getElement(tree,xml2+"H323/"+xml2+"Gatekeeper/"+xml2+"状态") + "。错误:" + getElement(tree,xml2+"H323/"+xml2+"Gatekeeper/"+xml2+"原因")
类型错误:+ 不支持的操作数类型:“NoneType”和“str”
这是引发错误的代码部分。
if model == "CE":
# SIPStatus = getElement(tree,xml2+"SIP/"+xml2+"Registration/"+xml2+"Status") + ". Errors: " + getElement(tree,xml2+"SIP/"+xml2+"Registration/"+xml2+"Reason")
SIPStatus = str(getElement(tree,xml2+"SIP/"+xml2+"Profile/"+xml2+"Registration/"+xml2+"Status")) + ". Errors: " + str(getElement(tree,xml2+"SIP/"+xml2+"Profile/"+xml2+"Registration/"+xml2+"Reason"))
H323Status = getElement(tree,xml2+"H323/"+xml2+"Gatekeeper/"+xml2+"Status") + ". Errors: " + getElement(tree,xml2+"H323/"+xml2+"Gatekeeper/"+xml2+"Reason")
ReleaseKey = getElement(tree,xml2+"SystemUnit/"+xml2+"Software/"+xml2+"ReleaseKey")
EPModel = getElement(tree,xml2+"SystemUnit/"+xml2+"ProductId")
SWVer =getElement(tree,xml2+"SystemUnit/"+xml2+"Software/"+xml2+"Version")
else:
badSyntax()
EPData = {"Model":EPModel,"SIP":SIPStatus,"H323":H323Status,"RK":ReleaseKey,"SW":SWVer}
return(EPData)
能否请您验证代码H323的第二行语法是否正确?
【问题讨论】:
-
您的一个
getElement正在返回None。进行一些调试以找出它是哪一个。 -
检查您的 getElement() 参数,其中一个是导致问题的“NoneType”类型。
-
而有问题的元素是
xml2(它是唯一添加了字符串的元素)。 -
是的....确实,您可以发布与
xml2相关的代码 -
特别有可能
getElement(tree,xml2+"H323/"+xml2+"Gatekeeper/"+xml2+"Status")正在返回None。解决这个问题,你应该会很好。
标签: python