首页 > 解决方案 > 用虚线重新格式化文本文件并将它们放在python中的同一行中

问题描述

我有一个文本文件,我需要一个 python 脚本来进行以下格式化。

样本.txt

1|An apple a[whitespace]
2|day keeps the doctor[whitespace]
3|away.
4|
5|Hello World!
6|
7|Happy new[whitespace]
8|year.

样本1.txt

1|An apple a day keeps the doctor away.
2|
3|Hello World!
4|
5|Happy new year.

左边的数字是行号,右边的句子是我要格式化的内容。

我将手动转到最后一行,在此示例中,8|year.将光标放在行首,在“年份”之前。检查上面的行7是否有任何内容,如果有,请按退格键。现在在happy之前到第7行的开头,检查上面的行是否有内容,没有,所以光标会向上移动两行。

光标现在在Hello“H”之前,检查上面的行是否有内容,没有,所以再次跳过两行。

光标现在在away.“a”之前,检查上面的行是否有内容,它这样做一个退格键,光标移到“d”之前的行首day。检查上面的行,再次是的,所以程序将再次执行退格并将该行移到第a[whitespace]1 行之后。

对整个文本文件重复此操作。

附言。所有虚线都有空格,生成的文件应该有一行文本和一个空行。

这是我到目前为止的工作:

with open('sample.txt', 'r') as file:
    lines = file.read().splitlines()
    last_line = lines[-1]

这将带我到文本文件的最后一行。我们还可以找到迭代需要运行的总次数

file = open("sample.txt","r") 
Counter = -1

# Reading from file 
Content = file.read() 
CoList = Content.split("\n") 

for i in CoList: 
        Counter += 1

print(Counter) 

要检查该行是否为空,我们可以使用line.isspace()which if true 表示该行为空,并且 Counter 必须跳过其上方的一行。

感谢您花时间阅读我的请求。我几乎没有编码经验,因此不胜感激。

标签: javapythonstringtext

解决方案


推荐阅读