运行python脚本时出现以下错误:
TypeError: cannot concatenate 'str' and 'NoneType' objects
我很确定str的意思是string,但我不知道NoneType对象是什么。我的脚本在第二行很糟糕,我知道第一行是有效的,因为那行的命令在我的asa中,正如我所期望的那样。起初我认为这可能是因为我在send_命令中使用变量和用户输入。
“CAPS”中的所有内容都是变量,“lower case”中的所有内容都是来自“parser.add_option”选项的输入。
我在用pexpect和optparse
send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)
send_command(child, SNMPSRVUSRCMD + snmpuser + group + V3AUTHCMD + snmphmac + snmpauth + PRIVCMD + snmpencrypt + snmppriv)
^{} 只是^{} 单例的类型:
从上面的后一个链接:
在您的例子中,您试图连接的项之一似乎是
None
,因此出现错误。NoneType
是None
对象的类型,该对象指示无值。None
是“不返回任何内容”的函数的返回值。对于搜索某些内容并且可能找到也可能找不到的函数,它也是一个常见的默认返回值;例如,当regex不匹配时,它由re.search
返回,或者当键在dict中没有条目时,它由dict.get
返回。不能将None
添加到字符串或其他对象。变量之一是
None
,而不是字符串。可能您忘记了在某个函数中return
,或者用户没有提供命令行选项,optparse
为该选项的值提供了None
。当您尝试将None
添加到字符串时,会出现以下异常:其中一个
group
或SNMPGROUPCMD
或V3PRIVCMD
的值是None
。这意味着您试图将字符串与
None
连接起来。None是Python的“null”,而
NoneType
是它的类型。此代码将引发相同类型的错误:
相关问题 更多 >
编程相关推荐