時間統計(サブディレクトリ内のファイルを含む)ディレクトリ内のすべてのmp4ファイルを指定します

1  - * -コーディング:UTF-8 - * - 
2  著者:ZCB 
。3  
。4  インポートOS
 5  から moviepy.editor インポートVideoFileClip
 。6  
。7 FILE_DIR = U " E:\\テスト"  #は、Uは、一般的なUnicode文字で表される追加します中国語の文字の前に
8。 sum_time = 0
 9。 
10  クラスFileCheck():
 11      DEF  __init__ (自己):
 12である          self.file_dir = FILE_DIR
 13である 
14      DEF :get_fileSize(自己ファイル名)
 15          "" " 
16             ファイルサイズを取得します
 。17          "" " 
18です          file_Byte = os.path.getsize(fileNameに)
 。19          リターンself.sizeConvert(file_Byte)
 20が 
21である     DEF get_file_Times(セルフ、ファイル名):
 22は、         " "" 
23がされた             ビデオの長さになっ
 24          "" " 
25          グローバルsum_time
 26は、          クリップ= VideoFileClip(ファイル名)
 27          sum_time + = clip.duration
 28          file_Times = self.timeConvert(clip.duration)
 29          clip.close()#が原因で非常に多くのファイルのプログラムを与えられることを防止することができ、
 30          リターンfile_Times
 31      DEF sizeConvert(自己、サイズ): 单位换算
32          K、M、G = 1024,1024 ** 2,1024 ** 3
 33          ならサイズ> = G:
 34              リターン " {:.3f} G " .format (サイズ/ G)
 35          ELIFのサイズ> = M:
 36              リターン " {:.3f} M " .format(サイズ/ M)
 37          ELIFのサイズ> = K:
 38              リターン " {:.3f} K " .format(サイズ/ K)
 39          、他40              リターン " {:.3f}バイト数" .format(サイズ)
 41      デフ timeConvert(自己、サイズ): 单位换算
42          M、H = 60,60 ** 2
 43          ならサイズ< M:
 44              リターン " {。} .3f S " .format(サイズ)
 45          ならサイズ< H:
 46              リターン " {。} {M:3F} S  .format(INT(サイズ// M)、サイズ%M)
 47          48              時間=サイズ/ / H
 49              分=サイズ%H // M
 50              秒=サイズ%H%以下M
 51は、             リターン " {H} {} {M :. 3F} S " .format(INT(時間)、INT(MIN)、秒)
 52である     DEF (自己)をget_all_file:
 53である         " "" 
54は             、すべてのビデオファイルの概要
 55          "" " 
56は、          ls_file = []
 57である         ため、ルート、DIRS、ファイルos.walk(FILE_DIR):
 58              用のファイルのファイル:
 59                  IF  " MP4  ファイルのみ:MP4ファイル番号を追加
 60                      ls_file.append(OS。 path.join(ルートファイル)) 現在のパスの下にあるすべての非ディレクトリのサブフォルダ
61         返すls_file
 62  印刷" ============開始、複数のファイルが、しばらくお待ちください... " 63 FC = FileCheck()
 64-  
65  fc.get_all_file()
 66ファイル= FCを。 get_all_file()
 67  印刷(ファイル)のファイルは、完全なファイル名リスト入れている
68の ためのファイルのファイル:
 69      FILE_SIZE = fc.get_fileSize(ファイル)
 70      file_timesの=のfc.get_file_Times(ファイル)
 71      印刷" {{} {} } " .format(ファイル、FILE_SIZE、file_times))
 72  を印刷" 总时长:{}、H {} M {:3F} S " .format(INT(sum_time / 3600)、INT(sum_time%の3600 // 60)、sum_time%の3600%60))

 

 

主にmoviepyライブラリの使用は、ライブラリOSは指定されたディレクトリ内のすべてのmp4ファイルを取得する使用します

注:参考資料:https://blog.csdn.net/xiaomahuan/article/details/78783174

おすすめ

転載: www.cnblogs.com/zach0812/p/11277987.html