Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk mendapatkan saiz dan tempoh fail video dalam Python?

Bagaimana untuk mendapatkan saiz dan tempoh fail video dalam Python?

WBOY
Lepaskan: 2023-04-22 22:25:15
ke hadapan
2695 orang telah melayarinya

1. Pengetahuan prasyarat

Sebanyak 3 perpustakaan Python diperlukan di sini, iaitu os, panda, dan moviepy.

  • ① os: digunakan untuk mendapatkan fail dan saiz fail dalam direktori tertentu

  • ② panda: digunakan untuk mengekstrak maklumat , simpan ke; Excel;

  • ③ moviepy: digunakan untuk mendapatkan tempoh dalam fail video; adalah perpustakaan pihak ketiga, jadi kami perlu memasangnya terlebih dahulu menggunakan arahan berikut.

2. Kod lengkap

① Import semua perpustakaan

pip install pandas
pip install moviepy
Salin selepas log masuk
② Dapatkan fail yang layak dalam direktori yang ditentukan

keputusan adalah seperti berikut:

import os
import pandas as pd
from moviepy.editor import VideoFileClip
Salin selepas log masuk

useful_dir = []
for i in os.listdir():
    if i.endswith("wmv"):
        useful_dir.append(i)
useful_dir
Salin selepas log masuk
③ Fungsi penukaran masa tersuai

Disebabkan kaedah Bagaimana untuk mendapatkan saiz dan tempoh fail video dalam Python? yang diperkenalkan di bawah, unit untuk mendapatkan tempoh ialah detik. Oleh itu, detik perlu ditukar kepada format "jam, minit dan saat" yang sesuai. Jika masa melebihi satu minit, ia ditukar kepada "minit: saat"; jika ia melebihi satu jam, ia ditukar kepada format "jam: minit: saat".

④ Dapatkan saiz dan tempoh fail

def time_convert(seconds):
    M,H = 60,3600
    if seconds < M:
        return f&#39;00:00:0{seconds}&#39; if seconds < 10 else f&#39;00:00:{str(seconds)}&#39;
    elif seconds < H:
        _M = int(seconds//M)
        _S = int(seconds%M)
        return f&#39;00:{f"0{_M}" if _M < 10 else str(_M)}:{f"0{_S}" if _S < 10 else str(_S)}&#39;
    else:
        _H = int(seconds//H)
        _M = int(seconds%H//M)
        _S = int(seconds%H%M)
        return f&#39;{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)}&#39;
Salin selepas log masuk

Hasilnya adalah seperti berikut: VideoFileClip()

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,"文件时长":y})
df
Salin selepas log masuk
⑤ Simpan data yang diperolehi dalam Excel

Kesan akhir adalah seperti yang ditunjukkan dalam gambar: Bagaimana untuk mendapatkan saiz dan tempoh fail video dalam Python?

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan saiz dan tempoh fail video dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan