首页 > 解决方案 > 在文件的行之间插入星号

问题描述

我试图在文件的行之间放置星号,我试图在每行的末尾获取句柄的位置并开始写入,但结果在文件末尾插入了星号。谁能解释为什么会这样?

with open('exercise3.txt','r+') as file:
    lines = file.readlines()
    file.seek(0)
    for i in range(len(lines)-1):
        line = file.readline()
        oldpos = file.tell()
        file.write('\n' + 20*'*' + '\n')
        file.seek(oldpos)```

标签: pythonfile

解决方案


您可以简单地阅读所有行并在它们之间添加 *,如下所示:

file = open("file.txt", "r")
lines = file.readlines() //This will return a list of lines
newFileLines = []
//Go trough indexes of lines if index%2 != 0: //Check if its even or odd index(if odd, add the line, if even, add stars -> first line, will be added, second index, will add "*" adn the next line and so on)
for index in range(len(lines)): 
        newFileLines.append(20*"*" + "\n")
    newFileLines.append(lines[index])
file.close()
file = open("newFile.txt", "w")
file.writelines(newFileLines)
file.close()

推荐阅读