通过python从目录及其子目录中的txt/srt文件中删除特定的空行

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


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

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


慕无忌1623718
浏览 93回答 1
1回答

蓝山帝景

以下是如何使用os.walk()and&nbsp;re.sub():import osimport refor root, dirs, files in os.walk('C:\\Users\\User\\Desktop\\Folder\\'):&nbsp; &nbsp; for file in files:&nbsp; &nbsp; &nbsp; &nbsp; if file.endswith('.txt'):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fpath = os.path.join(root, file)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; with open(fpath, 'r') as f:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; t = re.sub('(?<=\d)\n*(?=\d\d\:\d\d:\d\d\,\d\d\d)','\n',f.read())&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; with open(fpath, 'w') as f:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f.write(t)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python