You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python运行报错TypeError: unsupported operand type(s) for +: 'NoneType'和'str'如何解决

TypeError报错原因与修复方案

错误根因

你代码中print语句的括号范围写错了:

print(str(genNum)) + ': ' + os.path.basename(fileItem) + ' =>\n' + os.path.basename(newname) + "\n"

Python内置的print()函数执行完成后会返回None,你当前的写法相当于先执行print(str(genNum))得到None,再尝试将None和后续的字符串做+拼接操作,自然就触发了unsupported operand type(s) for +: 'NoneType' and 'str'的类型错误。

修复方案

把所有需要打印的内容都放到print()的括号内部即可,推荐两种写法:

写法1:直接修正括号范围

print(str(genNum) + ': ' + os.path.basename(fileItem) + ' =>\n' + os.path.basename(newname) + "\n")

写法2:使用f-string(更推荐,可读性更高,不易出错)

print(f"{genNum}: {os.path.basename(fileItem)} =>\n{os.path.basename(newname)}\n")

额外注意点

你贴出的业务代码还存在缩进错误:if i < condition_number: 下方的逻辑代码没有缩进,Python对缩进语法要求严格,运行时会触发语法错误,需要将if判断下的所有逻辑代码统一缩进4个空格。

内容的提问来源于stack exchange,提问作者user583088

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:57:00