SRT时长统计python程序源代码
目前只有一个初级的版本,计算单个srt文件的时长总和。只需要把文件的最后3行处的文件名.srt替换成你需要统计的那个文件名即可。
备注需要被统计时长的srt文件需要与该py文件在同一个文件目录下。
在Windows上安装Python非常简单,只需按照以下步骤操作即可:
前往Python官网下载页面:https://www.python.org/downloads/windows/
在下载页面中,选择适合你操作系统的Python版本。通常建议选择最新版本,例如Python 3.10.0。
下载完成后,双击下载的安装包,打开安装程序。
在安装程序中,按照提示点击“Next”按钮,直到进入“Customize Python”页面。
在“Customize Python”页面中,建议勾选“Add Python 3.10 to PATH”选项,以便在命令行中可以直接使用Python命令。
点击“Install”按钮,开始安装Python。
安装完成后,可以在“Start”菜单中找到Python的安装目录。也可以在命令行中输入“python”命令,验证Python是否已经成功安装。
以上就是在Windows上安装Python的简单步骤。如果需要对Python进行更深入的学习和使用,可以参考Python官方文档或者其他相关的教程。
--以下是python程序源代码,将其全选复制保存为SRT-TDM.py即可在安装了python的环境下运行--
import codecs
import re
from datetime import timedelta
def calculate_total_duration(file_path):
with codecs.open(file_path, 'r', encoding='utf-8') as f:
srt_content = f.read()
# 其他代码
# 使用正则表达式匹配时间戳
pattern = r'\d{2}:\d{2}:\d{2},\d{3}'
timestamps = re.findall(pattern, srt_content)
total_duration = timedelta()
for i in range(0, len(timestamps), 2):
# 将时间戳转换为时间对象
start_time = timedelta(hours=int(timestamps[i][:2]), minutes=int(timestamps[i][3:5]), seconds=int(timestamps[i][6:8]), milliseconds=int(timestamps[i][9:]))
end_time = timedelta(hours=int(timestamps[i+1][:2]), minutes=int(timestamps[i+1][3:5]), seconds=int(timestamps[i+1][6:8]), milliseconds=int(timestamps[i+1][9:]))
# 计算时间差并累加总时长
duration = end_time - start_time
total_duration += duration
# 将时间差转换为分钟数并输出累计时长的分钟数
total_duration_minutes = total_duration.total_seconds() / 60
print(f"Total duration: {total_duration}, {total_duration_minutes:.2f} minutes")
return total_duration
# 示例用法
file_path = '文件名.srt'
total_duration = calculate_total_duration(file_path)
# print(f'Total duration: {total_duration}')