运行Python出现ValueError: invalid literal for int() with base 10: 'go'报错求助
ValueError: invalid literal for int() with base 10: 'go' 报错的核心原因是代码调用int()函数将字符串转为十进制整数时,传入的待转换字符串为'go',不属于合法的十进制数字格式,因此触发类型转换异常。
排查修复方案
- 定位代码中所有调用
int()执行字符串转整数的逻辑,校验入参来源:如果入参来自用户输入、接口响应、文件读取等外部渠道,必须先判断字符串是否为纯十进制数字,再执行转换操作 - 可新增异常捕获逻辑做兜底兼容,参考代码如下:
input_str = "go" # 此处替换为实际业务中的入参变量 try: convert_result = int(input_str) except ValueError: # 自定义非法入参的处理逻辑,例如赋默认值、输出错误日志 convert_result = 0 print(f"待转换内容[{input_str}]不是合法十进制数字,已使用默认值{convert_result}")

内容的提问来源于stack exchange,提问作者Ya-Heydar-Karar
相关产品推荐
相关产品推荐

