python Bug调试集锦

本文列举并解析了编程中常见的两个错误:一是OpenCV图像处理时的尺寸检查失败,建议在读取图像前检查文件存在性及使用os.path.join构造路径;二是Python中字符串与浮点数相乘的类型错误,应将字符串转换为数值类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理一下平时遇到的一些bug,也许对同样的入门者有所帮助。

1.error: (-215) ssize.width > 0 && ssize.height > 0 in function resize

error: (-215) ssize.width > 0 && ssize.height > 0 in function resize

显然这行input_img = cv2.imread(data_path +'/'+ dataset +'/'+ img)返回一个空数组。

应该在读图之前先检查图像是否存在, 并且最好停止使用字符串组合来连接文件路径,使用python os.path.join是更好的选择。

image_path = os.path.join(data_path, dataset, img)
if os.path.exist():
    # Do stuff

2.TypeError: can't multiply sequence by non-int of type 'float'

在Python中,字符串和浮点数相乘没有定义(而字符串和整数相乘有意义:“AB”* 3是“ABABAB”;多少是“L”* 3.14? 需要将字符串解析为数值。

 

 

 

 

参考资料:

https://stackoverflow.com/questions/47172770/error-215-ssize-width-0-ssize-height-0-in-function-resize

https://stackoverflow.com/questions/485789/why-do-i-get-typeerror-cant-multiply-sequence-by-non-int-of-type-float

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值