什么是“ NoneType”对象?

运行python脚本时出现此错误:

TypeError: cannot concatenate 'str' and 'NoneType' objects

我很确定’str’是字符串,但是我不知道’NoneType’对象是什么。我的脚本在第二行开始,我知道第一个行之有效,因为该行的命令符合我的期望。起初我以为可能是因为我在send_command中使用了变量和用户输入。

“ CAPS”中的所有内容都是变量,“小写”中的所有内容都是从“ parser.add_option”选项输入的。

我正在使用pexpect和optparse

send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)

send_command(child, SNMPSRVUSRCMD + snmpuser + group + V3AUTHCMD + snmphmac + snmpauth + PRIVCMD + snmpencrypt + snmppriv)

回答:

NoneTypeNone对象的类型,即 没有任何值

的对象。None是“什么都不返回”的函数的返回值。它也是搜索某些内容或可能找不到的函数的常见默认返回值。例如,re.search当正则表达式不匹配,或者dict.get字典中的键没有条目时,返回该值。您不能添加None到字符串或其他对象。

您的变量之一是None,而不是字符串。也许你忘了return在你的功能之一,也可能用户没有提供命令行选项,optparse给你None该选项的值。当您尝试添加None到字符串时,会出现该异常:

send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)

其中一个groupSNMPGROUPCMDV3PRIVCMDNone其价值。

以上是 什么是“ NoneType”对象? 的全部内容, 来源链接: utcz.com/qa/399128.html

回到顶部