python获取网页播放视频时长_python 获取目录视频时长,大小

#!/usr/bin/python

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

import os

import sys

import re

import xlwt

import csv

from moviepy.editor import *

#from moviepy.editor import VideoFileClip

file_dir = "/ftpdir/data1/" #定义文件目录

workbook = xlwt.Workbook(encoding='utf-8')

worksheet = workbook.add_sheet('Worksheet')

class FileCheck():

def __init__(self):

self.file_dir = file_dir

def get_filesize(self,filename):

u"""

获取文件大小(M: 兆)

"""

file_byte = os.path.getsize(filename)

return self.sizeConvert(file_byte)

def get_file_times(self,filename):

u"""

获取视频时长(s:秒)

"""

clip = VideoFileClip(filename)

file_time = self.timeConvert(clip.duration)

return file_time

def sizeConvert(self,size):# 单位换算

K, M, G = 1024, 1024**2, 1024**3

if size >= G:

a = str(size/G)

a = str(int(a.split('.')[0]))

return a +'G Bytes'

#return str(size/G)+'G Bytes'

elif size >= M:

a = str(size/M)

a = str((int(a.split('.')[0])+1))

return a +'M Bytes'

elif size >= K:

return str(size/K)+'K Bytes'

else:

return str(size)+'Bytes'

def timeConvert(self,size):# 单位换算

M, H = 60, 60**2

if size < M:

return str(size)+u'秒'

if size < H:

return u'%s分钟%s秒'%(int(size/M),int(size%M))

else:

hour = int(size/H)

mine = int(size%H/M)

second = int(size%H%M)

tim_srt = u'%s小时%s分钟%s秒'%(hour,mine,second)

return tim_srt

def get_all_file(self):

u"""

获取视频下所有的文件

"""

#for root, dirs, files in os.walk(file_dir):

#return files #当前路径下所有非目录子文件

ds = list(os.walk(file_dir))

list_a = []

with open('./data_duration.csv','a',encoding='utf-8') as f:

for root,dirs,files in ds:

for file in files:

file_path = '{}/{}'.format(root,file)

if re.match('/ftpdir/data1/.*/(\d+)(.ts|.mp4)',file_path):

a = self.get_file_times(file_path)

b = self.get_filesize(file_path)

f.write('{}-----{}-----{}\n'.format(file_path,a,b))

obj = FileCheck()

obj_a = obj.get_all_file()

print(obj_a)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值