今天看到一个问题:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
代码是这样的:
id = int(os.path.split(imagePath)[1].split('.')[0])
其实这个提示已经非常明显了,百度翻译过来就是:
TypeError: int() 参数必须是字符串、类字节对象或数字,而不是 'list'
是吧,int里面的参数不能是list类型的数据
很明显里面取到的数据就是list类型的数据
那怎么判断哪个数据是list,Python有一个方法是type(),测试一下看
print(type(1))
print(type([]))
print(type(''))
输出如下:
然后再将里面的内容拆分,就知道是哪个值是list,再根据下标获取list的某一个值,以此类推,这个问题就能解决,本来也不是很难的问题,是心态的问题。
在遇到问题的时候,代码是会给出一些提示的,有一些提示是很明确的,这样可以帮助我们定位到问题所在的地方了,处理起来应该是更简单的。
问题来源:
https://ask.csdn.net/questions/8101875