需要一个python3编写的使用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/93g 著作权归作者所有。请勿转载和采集!