在 Python 中,当一个单词在行时打印一个换行符

Posted

技术标签:

【中文标题】在 Python 中,当一个单词在行时打印一个换行符【英文标题】:In Python, printing a newline when a word is in line 【发布时间】:2021-12-12 20:25:44 【问题描述】:

当找到特定单词时,我想打印一个 '\n' 来分隔行。这就是我所做的:

with open('test.txt') as my_file:
   match = False
   for line in my_file:
       if 'location'  in line:
           print('\n')
       if 'text1' in line:
           match = True
       elif 'text3' in line:
           match = False
       elif match:
            print(" ".join(line.split()))

但这会打印在“位置”一词之前。例如:

text1

location
text2

我希望它这样打印:

text1
location

text2

【问题讨论】:

把印刷品放在后面? 你从不打印行,所以你只会得到换行符。 请贴出完整代码 我已经编辑了帖子.. 在打印行本身之后打印新行。另外,match 变量背后的意图是什么?这将导致test1 之后的所有行跳到test3 之后的下一行。这是故意的吗?它与您的问题有关吗? 【参考方案1】:
with open('test.txt') as my_file:
   for line in my_file:
       print(line)
       if 'location'  in line:
           print('\n')

【讨论】:

以上是关于在 Python 中,当一个单词在行时打印一个换行符的主要内容,如果未能解决你的问题,请参考以下文章

当文本换行到两行时,块元素采用全宽

在 Java 中使用 hasNext 创建可变长度的自动换行

回车与换行的故事

数组大小和字符串拆分

程序在 python 中运行时如何打印到控制台? [复制]

Python如何在包含' n'的行中打印带有换行符的文本