TypeError: 'int' object is not iterable

TypeError: 'int' object is not iterable
[ WARN:0@3.966] global D:\a\opencv-python\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (539) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
运行出错

img

img

该回答引用ChatGPT

这个错误通常表示尝试对一个整数类型的变量进行迭代操作,而整数类型不支持迭代。可能的原因是在代码中尝试对一个整数类型的变量使用了for循环或者其他需要迭代器的操作。

你的代码中出现了多个变量的定义,但是这些变量的具体值未知,所以很难确定错误的原因。建议检查代码中是否有对整数类型变量进行迭代操作的情况,并查找可能的错误。

同时,你的代码中还出现了OpenCV的警告信息,可能与视频输入相关。你可以检查视频输入的设置是否正确,并且确保使用的视频格式是OpenCV支持的格式。

错误提示整数int不可迭代,尝试将第46行代码修改为:
list_blink=[60]

list()函数是将任何可迭代数据转换为列表类型, 参数必须是可迭代序列对象。list函数的参数必须是可迭代对象,60是个int类型的整数,并不是可迭代的数据,所以可以改成:具体可根据实际情况定义


list_blink = list(map(int, [60]))
// 或者
list_blink = list(range(60))
// 或者
list_blink = [60]