欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Python如何獲取視頻文件的大小和時(shí)長

 更新時(shí)間:2023年03月31日 10:18:55   作者:黃偉呢  
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)獲取視頻文件的大小和時(shí)長,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下

前段時(shí)間,微信群有一個(gè)朋友問了下面這個(gè)問題,雖然很簡(jiǎn)單,但是覺得有必要和大家做一個(gè)知識(shí)分享。

這個(gè)問題一共有兩個(gè)需求:

  • ① 獲取視頻的文件大??;
  • ② 獲取視頻的時(shí)長;

基于上述兩個(gè)問題,我來教大家如何將獲取到的信息存儲(chǔ)到Excel中。

1. 前置知識(shí)

這里一共需要用到3個(gè)Python庫,分別是os、pandas、moviepy。

  • ① os:用于獲取某個(gè)目錄下的文件和文件大?。?/li>
  • ② pandas:用于將提取到的信息,保存到Excel中;
  • ③ moviepy:用于獲取視頻文件中的時(shí)長;

注意:pandas和moviepy屬于第三方庫,因此需要我們提前使用如下命令進(jìn)行安裝。

pip install pandas
pip install moviepy

2. 完整代碼

① 導(dǎo)入所有庫

import os
import pandas as pd
from moviepy.editor import VideoFileClip

② 獲取指定目錄下符合條件的文件

useful_dir = []
for i in os.listdir():
    if i.endswith("wmv"):
        useful_dir.append(i)
useful_dir

結(jié)果如下:

③ 自定義時(shí)間轉(zhuǎn)化函數(shù)

def time_convert(seconds):
    M,H = 60,3600
    if seconds < M:
        return f'00:00:0{seconds}' if seconds < 10 else f'00:00:{str(seconds)}'
    elif seconds < H:
        _M = int(seconds//M)
        _S = int(seconds%M)
        return f'00:{f"0{_M}" if _M < 10 else str(_M)}:{f"0{_S}" if _S < 10 else str(_S)}'
    else:
        _H = int(seconds//H)
        _M = int(seconds%H//M)
        _S = int(seconds%H%M)
        return f'{f"0{_H}" if _H < 10 else str(_H)}:{f"0{_M}" if _M < 10 else str(_M)}:{f"0{_S}" if _S < 10 else str(_S)}'

由于下面介紹的VideoFileClip()方法,獲取時(shí)長的單位是秒。因此,需將秒換成合適的"時(shí)分秒"格式。若時(shí)間超過一分鐘,換算成"分鐘:秒",若超過一小時(shí),就換算成"小時(shí):分鐘:秒"格式。

④ 獲取文件大小和時(shí)長

x = []
y = []
for i in useful_dir:
    dir_size = str(round(os.path.getsize(i)/1024/1024,1)) + "M"
    clip = VideoFileClip(i)
    dir_time = time_convert(clip.duration)
    x.append(dir_size)
    y.append(dir_time)
df = pd.DataFrame({"文件大小":x,"文件時(shí)長":y})
df

結(jié)果如下:

⑤ 將得到的數(shù)據(jù)存儲(chǔ)到Excel中

df.to_excel("info.xlsx",index=False)

最終效果如圖所示:

到此這篇關(guān)于詳解Python如何獲取視頻文件的大小和時(shí)長的文章就介紹到這了,更多相關(guān)Python獲取視頻大小時(shí)長內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python之yield表達(dá)式學(xué)習(xí)

    python之yield表達(dá)式學(xué)習(xí)

    這篇文章主要介紹了python之yield表達(dá)式學(xué)習(xí),python中有一個(gè)略微奇怪的表達(dá)式叫yield expression,本文就來探究一下這是個(gè)什么東西,需要的朋友可以參考下
    2014-09-09
  • 利用django和mysql實(shí)現(xiàn)一個(gè)簡(jiǎn)單的web登錄頁面

    利用django和mysql實(shí)現(xiàn)一個(gè)簡(jiǎn)單的web登錄頁面

    這篇文章主要給大家介紹了關(guān)于如何利用django和mysql實(shí)現(xiàn)一個(gè)簡(jiǎn)單的web登錄頁面的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-05-05
  • python 求10個(gè)數(shù)的平均數(shù)實(shí)例

    python 求10個(gè)數(shù)的平均數(shù)實(shí)例

    今天小編就為大家分享一篇python 求10個(gè)數(shù)的平均數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • PyCharm第一次安裝及使用教程

    PyCharm第一次安裝及使用教程

    本文通過圖文并茂的形式給大家介紹PyCharm第一次安裝及使用教程,分步驟通過實(shí)際案例給大家操作演示,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 利用Python如何生成隨機(jī)密碼

    利用Python如何生成隨機(jī)密碼

    這篇文章主要為大家詳細(xì)介紹了利用Python如何生成隨機(jī)密碼的相關(guān)方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • python和pyqt實(shí)現(xiàn)360的CLable控件

    python和pyqt實(shí)現(xiàn)360的CLable控件

    這篇文章主要介紹了python和pyqt實(shí)現(xiàn)360的CLable控件示例,需要的朋友可以參考下
    2014-02-02
  • python如何拆分含有多種分隔符的字符串

    python如何拆分含有多種分隔符的字符串

    這篇文章主要為大家詳細(xì)介紹了python如何拆分含有多種分隔符的字符串,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python字符串的轉(zhuǎn)義字符

    Python字符串的轉(zhuǎn)義字符

    這篇文章主要介紹了Python字符串的轉(zhuǎn)義字符,轉(zhuǎn)義字符是指,用一些普通字符的組合來代替一些特殊字符,由于其組合改變了原來字符表示的含義,下文相關(guān)資料需要的小伙伴可以參考一下
    2022-04-04
  • python3調(diào)用ansible?api使用實(shí)例例說明

    python3調(diào)用ansible?api使用實(shí)例例說明

    這篇文章主要為大家介紹了python3?調(diào)用ansible?api使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 簡(jiǎn)單介紹Ruby中的CGI編程

    簡(jiǎn)單介紹Ruby中的CGI編程

    這篇文章主要介紹了簡(jiǎn)單介紹Ruby中的CGI編程,包括創(chuàng)建Form表單等基本內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評(píng)論