python - 什么是 'NoneType' 对象?

标签 python null nonetype

我在运行 python 脚本时遇到此错误:

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

我很确定'str' 表示字符串,但我不知道'NoneType' 对象是什么。我的脚本出现在第二行,我知道第一个有效,因为该行的命令在我的 asa 中,正如我所期望的那样。一开始我以为可能是因为我在 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对于该选项的值(value)。当您尝试将 None 添加到字符串时,您会得到该异常:

send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)

groupSNMPGROUPCMDV3PRIVCMD 之一的值为 None

关于python - 什么是 'NoneType' 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21095654/

相关文章:

python - numpy:将二维数组乘以一维数组

python - 无法弄清楚为什么图表没有更新

python - 不要在 django 中创建子对象

python - 从 POST 请求中检索访问 token 并在 GET 请求中使用

c - 检查字符数组是否为空的最佳方法

c# - 将空值插入整数列

c# - 什么是NullReferenceException,如何解决?

python - 当我只想从一个变量中删除元素时,.remove() 正在从两个变量(列表)(我将其设置为彼此相等)中删除元素

python - 为什么在输出中打印 'None'?

python - python装饰器修饰的函数返回值是否只能是Nonetype