以下是一个使用 MediaInfo 统计视频大小并写入 Excel 的 Python 3 脚本。需要安装 openpyxl 和 pymediainfo 库。

import os
import openpyxl
from pymediainfo import MediaInfo

# 将文件大小转换为 MB
def bytes_to_mb(size):
    return size / (1024 * 1024)

# 获取文件信息
def get_file_info(file_path):
    media_info = MediaInfo.parse(file_path)
    for track in media_info.tracks:
        if track.track_type == 'Video':
            return track

# 获取文件列表
def get_files(dir_path):
    files = []
    for file_name in os.listdir(dir_path):
        if file_name.endswith('.mp4') or file_name.endswith('.avi') or file_name.endswith('.mkv'):
            files.append(file_name)
    return files

# 创建 Excel 文件
def create_excel(file_path):
    workbook = openpyxl.Workbook()
    sheet = workbook.active
    sheet.title = 'Video Sizes'
    sheet['A1'] = 'File Name'
    sheet['B1'] = 'Size (MB)'
    workbook.save(file_path)
    return workbook

# 写入文件信息到 Excel
def write_excel(file_path, file_name, size):
    workbook = openpyxl.load_workbook(file_path)
    sheet = workbook.active
    row_num = sheet.max_row + 1
    sheet.cell(row=row_num, column=1, value=file_name)
    sheet.cell(row=row_num, column=2, value=size)
    workbook.save(file_path)

# 主函数
def main():
    dir_path = input('请输入视频文件夹路径:')
    excel_path = input('请输入要保存的 Excel 文件路径:')
    workbook = create_excel(excel_path)
    files = get_files(dir_path)
    for file_name in files:
        file_path = os.path.join(dir_path, file_name)
        file_info = get_file_info(file_path)
        size = bytes_to_mb(file_info.size)
        write_excel(excel_path, file_name, size)
    print('文件信息已成功写入 Excel。')

if __name__ == '__main__':
    main()

运行该脚本后,将提示输入视频文件夹路径和要保存的 Excel 文件路径。程序将自动扫描视频文件夹中的所有 .mp4、.avi 和 .mkv 文件,并将它们的文件名和大小写入 Excel 文件。

Python 脚本:使用 MediaInfo 统计视频大小并写入 Excel

原文地址: https://www.cveoy.top/t/topic/mz0s 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录