【发布时间】:2014-02-01 10:57:23
【问题描述】:
我在运行 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)
【问题讨论】:
-
我们需要查看更多代码和输入 - NoneTyoe 表示其中一个变量尚未设置
-
NoneType是单例值None的类型。您的值之一不是字符串。 -
Quick&Dirty:将每个术语连接在
str()str(SNMPSRVUSRCMD) + str(snmpuser) + ... -
@PeterMmm 这是一个糟糕的想法——问题只会在更远的地方表现出来(也许更糟)。最好弄清楚为什么其中一个变量是None。