实例脚本:https://github.com/Meekdai/Gmeek/blob/main/Gmeek.py

错误信息:

TypeError: object of type 'NoneType' has no len()

错误代码定位:

self.blogBase[listJsonName][postNum]["wordCount"]=len(issue.body)

尝试获取 issue.body 的长度,但 issue.body 的值是 None 类型,而在 Python 中对 None 类型对象调用 len() 函数是不合法的,因为 None 表示没有值或空值。

即将某个 GitHub issue 的正文内容(即 issue.body)的长度赋值给博客基础数据结构(self.blogBase[listJsonName][postNum]["wordCount"])。当遇到无法获取到 issue 正文或者正文为空时,会引发 TypeError。

解决这个问题的办法是在执行 len(issue.body) 之前,先检查 issue.body 是否非空:

if issue.body is not None:
    self.blogBase[listJsonName][postNum]["wordCount"] = len(issue.body)
else:
    # 处理 body 为空的情况,可以设置默认值或者跳过
    pass