Python opencv视频导出为0KB

Python opencv

import cv2 as vc
fourcc = vc.VideoWriter_fourcc('M', 'P', '4', '2')
vw =vc.VideoWriter("D:\QQ\MobileFile/thumb\out001.avi",fourcc,25,(1280,720))
#创建窗口
vc.namedWindow("video",vc.WINDOW_NORMAL)
#获取视频设备
cap = vc.VideoCapture(0,vc.CAP_DSHOW)
#判断摄像头是否为打开状态
while cap.isOpened():
#从摄像头读视频帧
ret,frame = cap.read()
if ret == True:
#讲视频帧在窗口中显示
vc.imshow("video",frame)
#写数据到多媒体文件
vw.write(frame)
#等待键盘事件,如果为q退出
key = vc.waitKey(40)
if key == ord('q'):
break
else:
break
#释放VidepCapture
cap.release()
#释放VideoWriter
vw.release()
vc.destroyAllWindows()

运行不报错,摄像头也能正常开启
转换过好多视频编码类型后,依旧是导出的视频为0KB,不能打开
怎么能打开导出的视频文件

因为解码出来的图像根本没有被录入,只是走了第一句VideoWriter_fourcc的函数初始化了一个视频空文件编码,而没有走cv2.imwrite,代码前面imshow已经将程序阻塞住了