什么是“ NoneType”对象?

发布于 2021-01-29 19:26:43

运行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)
关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

    send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)
    

    其中一个groupSNMPGROUPCMDV3PRIVCMDNone其价值。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看