【问题标题】:Removing specific blank lines from txt/srt files inside a directory and its sub-directories by python通过python从目录及其子目录中的txt / srt文件中删除特定的空白行
【发布时间】:2020-10-23 00:00:59
【问题描述】:

我有很多以下格式的字幕文件。

1

00:00:01,000 --> 00:00:02,008
some dummy text

2

00:00:02,008 --> 00:00:05,006
some dummy text
some dummy text

3

00:00:05,006 --> 00:00:08,008
some dummy text
some dummy text

我想通过删除时间和之前的数字之间的空行将它们转换为下面的数字。

1
00:00:01,000 --> 00:00:02,008
some dummy text

2
00:00:02,008 --> 00:00:05,006
some dummy text
some dummy text

3
00:00:05,006 --> 00:00:08,008
some dummy text
some dummy text

由于它们是大量文件,我需要一段代码来应用于目录中的所有文件及其子目录。是否有机会覆盖现有文件?

【问题讨论】:

  • 可以递归遍历文件树,去掉空行
  • 你好 Meysam,欢迎来到 StackOverflow。你能告诉我们你在这个问题上的尝试吗..

标签: python python-textprocessing


【解决方案1】:

这里是你如何使用os.walk()re.sub()

import os
import re

for root, dirs, files in os.walk('C:\\Users\\User\\Desktop\\Folder\\'):
    for file in files:
        if file.endswith('.txt'):
            fpath = os.path.join(root, file)
            with open(fpath, 'r') as f:
                t = re.sub('(?<=\d)\n*(?=\d\d\:\d\d:\d\d\,\d\d\d)','\n',f.read())
            with open(fpath, 'w') as f:
                f.write(t)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2020-01-31
    相关资源
    最近更新 更多