Python错误 - TypeError:+的不支持的操作数类型:'NoneType'和'str'

时间:2015-06-18 00:29:33

标签: python

我正在尝试调试现有脚本,并在运行脚本时遇到以下错误。 ./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 +“Status”)+   “。错误:”+   getElement(树,XML2 + “H323 /” + XML2 + “关守/” + XML2 + “理”)
  TypeError:+不支持的操作数类型:'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的第二行是否具有正确的语法?

2 个答案:

答案 0 :(得分:1)

这不是您脚本中的错误。它只是说TypeError: unsupported operand type(s) for +: 'NoneType' and 'str',基本上意味着它无法合并None"string"。您应该执行str(None)+"string"或设置一些条件if s == None: do something以避免使用。

答案 1 :(得分:0)

非常感谢大家的宝贵意见......我试过这个并且有效。

H323Status = str(getElement(tree,xml2+"H323/"+xml2+"Gatekeeper/"+xml2+"Status")) + ". Errors: " + str(getElement(tree,xml2+"H323/"+xml2+"Gatekeeper/"+xml2+"Reason"))