什么是“ 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)
回答:
NoneType
是None
对象的类型,即 没有任何值
的对象。None
是“什么都不返回”的函数的返回值。它也是搜索某些内容或可能找不到的函数的常见默认返回值。例如,re.search
当正则表达式不匹配,或者dict.get
字典中的键没有条目时,返回该值。您不能添加None
到字符串或其他对象。
您的变量之一是None
,而不是字符串。也许你忘了return
在你的功能之一,也可能用户没有提供命令行选项,optparse
给你None
该选项的值。当您尝试添加None
到字符串时,会出现该异常:
send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)
其中一个group
或SNMPGROUPCMD
或V3PRIVCMD
有None
其价值。
以上是 什么是“ NoneType”对象? 的全部内容, 来源链接: utcz.com/qa/399128.html