Python 脚本:使用 MediaInfo 统计视频大小并写入 Excel
以下是一个使用 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 文件。
原文地址: https://www.cveoy.top/t/topic/mz0s 著作权归作者所有。请勿转载和采集!