在文本文件中的两个特定行(关键字)之间打印多行

法比安·彼得斯

我有一个文本文件,想在Windows上使用Python 3.5打印另外两行之间的行。我想将话剧中的角色打印到另一个文件中。文本文件如下所示:

...
Characters:
Peter, the king.
Anna, court lady.
Michael, caretaker.
Andre, soldier.
Tina, baker.
First scene.
...

我想在“字符:”和“第一个场景”之间打印所有字符名称。我的第一次尝试是:

newfile = open('newfile.txt', 'w')
with open('drama.txt', 'r') as f:
for line in f:
    if line.startswith('Characters:'):
        print(next(f), file = newfile)

但这只打印一行,而我需要几行,而next()函数的迭代在打印一行后总是导致StopIteration Error。因此,有一种说法:打印“字符:”和“第一场景”之间的所有行吗?索引实际上是不可能的,因为我正在为几部戏做这件事,而且它们都有不同数量的角色。

帕特里克·阿特纳

您可以设置一个布尔值来知道是否打印行:

newfile = open('newfile.txt', 'w')

printing = False

with open('drama.txt', 'r') as f:
    for line in f:
        if line.startswith('Characters:'):
            printing = True
            continue # go to next line
        elif line.startswith('First scene'):
            printing = False
            break # quit file reading

        if printing:
            print(line, file=newfile)
newfile.close()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

匹配包含两个关键字的文本文件中的一行

如何显示文本文件中包含特定关键字的行-CMD

如何从文本文件中打印包含关键字和关键字之后的文本?

使用python多次打印文本文件中两个单词之间的文本

为特定关键字挖掘文本文件

在文本文件中搜索关键字并打印整行

使用C获取文本文件中两个特定点之间的特定信息

打印两个关键字之间的单词

删除文本文件中两个特定字符之间的内容

根据RUBY中的关键字删除文本文件中的一行

Perl抓取两个关键字之间的文本

匹配两个文本文件中的行

提取两个关键字或一个关键字与\ n之间的文本

在文本文件中的行中搜索两个位置之间的图案,并打印整行

仅当块不包含特定关键字时,才使用 awk 在两个标记之间打印完整的文本块

如何找到具有两个关键字的文件并返回在特定列/行中修改的日期?

如何提取一行中两个关键字之间出现的单词?

awk匹配两个文件中的关键字

比较两个文件并将结果打印到新的文本文件中

Python - 如何通读关键字的文本文件

如何使用grepwin提取两个关键字之间的多行字符串

使用Perl从文件中查找关键字并输出到文本文件

在文本文件中查找每个关键字并记录文件名

如何根据两个不同文本文件中的相同行打印值

grep问题-试图在包含两个以上特定字符的文本文件中显示行

查找/替换文本文件中两个单词之间的字符串

如何使用Java提取文本文件中两个单词之间的内容?

在终端中查找两个文本文件之间的匹配

如果在文本文件中的两个不同字符之间,则为Python