首页 > 解决方案 > 如何排除“TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到 NoneType”?

问题描述

我遇到了这个异常并搜索了网络。但是我无法获得有关如何进行此类例外的任何信息。

有人可以提供一些代码来产生这样的异常吗?

谢谢。

标签: python

解决方案


您可能正在尝试将 None 隐式转换为 unicode 字符串。我的猜测是您需要在if var is not None某个地方进行检查。

$ python2
>>> u"" + None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: coercing to Unicode: need string or buffer, NoneType found

请注意,Python 3.7 会为您提供更好的错误消息:

$ python3
>>> u"" + None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "NoneType") to str

推荐阅读