使用python从文件中编译和拆分字符串

2024-05-26 11:13:33 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我只需要文件的某些行。我不能对文件的其他部分进行操作。我已经创建了一个类,它将这些行从文件中分离出来,并在这些行上运行操作,但是我认为在一个字符串上运行这些操作会更快,这些字符串包含可以在这些操作中使用的文件部分。。。在

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

我使用的是python3.3


编辑: 我将在这里更详细地解释这一点,因为我最初的帖子非常模糊(感谢保罗指出这一点)。在

例如,如果我想修复一个SubRipper(.srt文件),这是一个常见的副标题文件,我会将以下内容作为输入(这是来自实际的srt文件):

在这里您可以找到正确的示例,在此处提交文件内容会导致换行: http://pastebin.com/ZdWUpNZ2

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

“他们在那山脊上。他们把我们压住了。”

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


Tags: 文件字符串http编辑示例内容字典帖子
1条回答
网友
1楼 · 发布于 2024-05-26 11:13:33

您可以使用^{}编辑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')

相关问题 更多 >