SRT时长统计python程序源代码

 


目前只有一个初级的版本,计算单个srt文件的时长总和。只需要把文件的最后3行处的文件名.srt替换成你需要统计的那个文件名即可。

备注需要被统计时长的srt文件需要与该py文件在同一个文件目录下。 

在Windows上安装Python非常简单,只需按照以下步骤操作即可:

  1. 前往Python官网下载页面:https://www.python.org/downloads/windows/

  2. 在下载页面中,选择适合你操作系统的Python版本。通常建议选择最新版本,例如Python 3.10.0。

  3. 下载完成后,双击下载的安装包,打开安装程序。

  4. 在安装程序中,按照提示点击“Next”按钮,直到进入“Customize Python”页面。

  5. 在“Customize Python”页面中,建议勾选“Add Python 3.10 to PATH”选项,以便在命令行中可以直接使用Python命令。

  6. 点击“Install”按钮,开始安装Python。

  7. 安装完成后,可以在“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}')

Popular posts from this blog

LinuxONE Community Cloud

github.com/Nyr/wireguard-install

wireguard easy server setup