将Python2种子校验脚本转为Python3后遇导入错误求解决
解决Python3中types模块无法导入StringType等类型的问题
- 找到代码里从
types模块导入StringType、IntType、LongType、DictType这类类型的语句,直接删除这些导入行——Python3已经移除了这些类型别名,无需再从types模块引用。 - 替换代码中所有使用旧类型别名的地方:
- 把
StringType换成内置类型str - 把
IntType和LongType统一换成int(Python3里已合并普通整型与长整型) - 把
DictType换成dict
- 把
举个修改示例:
原转换后的代码片段:
if isinstance(value, StringType): # 字符串处理逻辑 elif isinstance(value, IntType) or isinstance(value, LongType): # 整数处理逻辑 elif isinstance(value, DictType): # 字典处理逻辑
修改为Python3兼容版本:
if isinstance(value, str): # 字符串处理逻辑 elif isinstance(value, int): # 整数处理逻辑 elif isinstance(value, dict): # 字典处理逻辑
完成上述修改后,就能解决ImportError问题,脚本可在Python3.10.4中正常运行。
内容的提问来源于stack exchange,提问作者Smeterlink
相关产品推荐
相关产品推荐

