pythonzip解压库_python解压,压缩,以及存数据库的相关操作

#_*_ coding:utf-8 _*_

importdatetimeimporttimeimportosimportos.pathimportcv2importnumpy as npimportos,shutil,zipfile,glob#视频唯一索引组织方式:date('ymd').'-'$couse_id.'-'.$num.'-'.$total_num.'-'.$user_id

globalgfilename,guser_id,gcourse_id,gnum,gtotal_num

videopath= './video/';#扫描目录

defshowdata():

dir=videopathifos.path.exists(dir):

dirs=os.listdir(dir)#dirs.sort(compare)

#dirs.reverse()

dirs.sort()if notdirs:

nowTime=datetime.datetime.now().strftime('Not Find Video...%Y-%m-%d %H:%M:%S')print(nowTime)return "",0for dirc indirs:

size=os.path.getsize(os.path.join(dir, dirc))#print(dirc)

#print(size)

returndirc,size#----------创建目录---------------#利用该用户的id,创建一个以id命名的该用户的目录

defmkdir(path):#去除首位空格

path=path.strip()#去除尾部 \ 符号

path=path.rstrip("\\")#判断路径是否存在

isExists=os.path.exists(path)if notisExists:

os.makedirs(path)print (path+'创建成功')returnTrueelse:print (path+'目录已存在')returnFalse#-----------移动到video文件夹------------

deftooutfile():globalgfilename,guser_id,gcourse_id,gnum,gtotal_num#读取用户id,课程名

count=0

gcourse_id=''guser_id=''gnum=''gtotal_num=''

for i ingfilename:if(i=='-'):

count= count+1

if(count==1 and i!='-'):

gcourse_id=gcourse_id+iif(count==2 and i!='-'):

gnum=gnum+iif(count==3 and i!='-'):

gtotal_num=gtotal_num+iif(count==4 and i!='-' and i!='.'):

guser_id=guser_id+iif(i=='.'):break

#print(guser_id)

#print(gcourse_id)

#print(gnum)

#print(gtotal_num)

#在outfile文件夹创建目录

mkpath='./outfile/'+guser_id

mkdir(mkpath)#将视频移动到./outfile/userid/ 下

srcfile='./video/'+gfilename

dstfile=mkpath

shutil.move(srcfile,dstfile)#合并视频的部分

combinepath = './outfile/10/'

defCreateFile(videoWriter,filename):

cap= cv2.VideoCapture('./outfile/10/'+filename)if (cap.isOpened() ==False):print("Unable to read camera feed1")#fps = cap.get(cv2.CAP_PROP_FPS)

#size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),

#int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))

success, frame =cap.read()whilesuccess :

videoWriter.write(frame)

success, frame=cap.read()defCreateFile_old(filename):#Create a VideoCapture object

#cap = cv2.VideoCapture('../video/test.avi')

cap = cv2.VideoCapture('../video/'+filename)#Check if camera opened successfully

if (cap.isOpened() ==False):print("Unable to read camera feed")

frame_width= int(cap.get(3))

frame_height= int(cap.get(4))

out= cv2.VideoWriter('../outpy/out.avi',cv2.VideoWriter_fourcc('F', 'L', 'V', '1'), 14, (frame_width,frame_height))#out = cv2.VideoWriter('../outpy/'+filename,cv2.VideoWriter_fourcc('F', 'L', 'V', '1'), 14, (frame_width,frame_height))

while(True):

ret, frame=cap.read()if ret ==True:

out.write(frame)if cv2.waitKey(1) & 0xFF == ord('q'):break

else:breakcap.release()#out.release()

cv2.destroyAllWindows()defErgodCatalog():

dir=combinepathifos.path.exists(dir):

dirs=os.listdir(dir)#dirs.sort(compare)

#dirs.reverse()

dirs.sort()

videoWriter= cv2.VideoWriter('./outfile/10/out.avi', cv2.VideoWriter_fourcc('F', 'L', 'V', '1'), 30.0, (360, 640))if notdirs:

time.sleep(1)print("Sleep 1S")return0for dirc indirs:

size=os.path.getsize(os.path.join(dir, dirc))#CreateFile(dirc)

CreateFile(videoWriter,dirc)print("name:",dirc,",size:",size)return0#while(True):

#ErgodCatalog()

if __name__ == "__main__":#global gfilename,guser_id,gcourse_id,gnum,gtotal_num

#ErgodCatalog()

#while(True):

(gfilename, filesize) =showdata()if(gfilename!=''): #在文件夹中有视频存在时,才进行以下操作

print(gfilename)

tooutfile()#将video文件夹中的视频移动到outfile

if(gnum==gtotal_num): #在训练的组数达到总组数时,将视频合并

ErgodCatalog()#(gfilename, filesize) = showdata()

#print(gfilename)

#(guserid, gcourse_id) = tovideo()

#ErgodCatalog()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值