去掉時間線代碼:
import os import re def remove_timestamps(content): """ 移除srt文件內(nèi)容中的時間線行。 :param content: srt文件的內(nèi)容 :return: 移除時間線后的srt內(nèi)容 """ # 使用正則表達式匹配時間線行 pattern = re.compile(r'\n\d{2}:\d{2}:\d{2},\d{3} --> \d{2}:\d{2}:\d{2},\d{3}') return pattern.sub("\n", content) def merge_srt_files(source_dir, output_file): """ 合并指定目錄及其子目錄下的所有.srt文件到一個新文件中,并去掉時間線行。 :param source_dir: 源目錄路徑 :param output_file: 輸出文件路徑 """ # 確保輸出文件的目錄存在 os.makedirs(os.path.dirname(output_file), exist_ok=True) # 打開輸出文件準(zhǔn)備寫入 with open(output_file, 'w', encoding='utf-8') as outfile: # 遍歷目錄 for root, dirs, files in os.walk(source_dir): for file in files: if file.endswith('.srt'): file_path = os.path.join(root, file) with open(file_path, 'r', encoding='utf-8') as infile: # 讀取srt文件內(nèi)容 content = infile.read() # 移除時間線行 filtered_content = remove_timestamps(content) # 寫入到輸出文件,每個文件之間留一個空行作為分隔 outfile.write(filtered_content) outfile.write('\n\n') # 指定源目錄和輸出文件 source_directory = r"C:\caijian\tengman" output_srt_file = r"C:\caijian\tengman\merged_output.srt" # 調(diào)用函數(shù)執(zhí)行合并 merge_srt_files(source_directory, output_srt_file) print(f"所有.srt文件已合并到 {output_srt_file},時間線行已移除")
代碼:
import os def merge_srt_files(source_dir, output_file): """ 合并指定目錄及其子目錄下的所有.srt文件到一個新文件中。 :param source_dir: 源目錄路徑 :param output_file: 輸出文件路徑 """ # 確保輸出文件的目錄存在 os.makedirs(os.path.dirname(output_file), exist_ok=True) # 打開輸出文件準(zhǔn)備寫入 with open(output_file, 'w', encoding='utf-8') as outfile: # 遍歷目錄 for root, dirs, files in os.walk(source_dir): for file in files: if file.endswith('.srt'): file_path = os.path.join(root, file) with open(file_path, 'r', encoding='utf-8') as infile: # 讀取srt文件內(nèi)容 content = infile.read() # 寫入到輸出文件,每個文件之間留一個空行作為分隔 outfile.write(content) outfile.write('\n\n') # 指定源目錄和輸出文件 source_directory = r"C:\caijian\tengman" output_srt_file = r"C:\caijian\tengman\merged_output.srt" # 調(diào)用函數(shù)執(zhí)行合并 merge_srt_files(source_directory, output_srt_file) print(f"所有.srt文件已合并到 {output_srt_file}")
浙公網(wǎng)安備 33010602011771號