0

如何从文件的选定行编译字符串,对字符串运行一些操作,然后将该字符串拆分回原始行到同一个文件中?

我只需要文件的某些行。我无法对文件的其他部分进行操作。我创建了一个类,将这些行与文件分开并在这些行上运行操作,但我认为在包含可用于这些操作的文件部分的单个字符串上运行这些操作会更快...

或者,如果我可以在整个字典上运行这些操作,那也会有所帮助。这些操作是字符串替换和正则表达式替换。

我正在使用 python 3.3


编辑:我将在这里更详细地解释这一点,因为我的原始帖子是如此含糊(感谢 Paolo 指出这一点)。

例如,如果我想修复一个 SubRipper(.srt 文件),它是一个常见的字幕文件,我会将这样的内容作为输入(这是来自一个实际的 srt 文件):

在这里你可以找到正确的例子,在这里提交文件内容会弄乱换行符: http: //pastebin.com/ZdWUpNZ2

...然后我只会修复那些具有实际字幕行的行,而不是那些排序号行或字幕文件的隐藏/显示行。所以我编译的字符串可能是:

“他们在那个山脊上。|他们把我们固定住了。”

然后我会对该字符串运行操作。然后我必须将这些行保存回文件。修复这些字幕行后,如何将它们恢复到原始文件中?我可以使用“|”拆分我编译和固定的字符串 作为行分隔符并将它们放回原始文件,但是我如何确定哪一行在哪里?

4

1 回答 1

3

您可以使用pysrt编辑 SubRip 文件:

from pysrt import SubRipFile

subs = SubRipFile.open('some/file.srt')

for sub in subs:
    # do something with sub.text
    pass

# save changes to a new file
subs.save('other/path.srt', encoding='utf-8')
于 2012-10-28T16:47:32.797 回答