我的意图是在某些符合某些条件的行之间添加一些行(条件不是直截了当的,并且来自代码逻辑)。我使用 tell() 函数来获取要放置新行的位置。此外,我使用 readlines() 将文本部分保存到该位置,并将文件的其余部分保存在两个列表中,如下所示。
这样,我计划将新行添加到第一个列表中,然后附加到第二个列表中,这样我就可以将它们一起写入原始文件。
fp.open("path", "r")
<some logic to find where the new lines are to be inserted>
insertPos = fp.tell()
firstPart = fp.readlines(insertPos)
secondPart = fp.readlines()
firstPart.insert(len(firstPart)+1, newLines)
newContent = firstPart+secondPart)
fp.writelines(newContent)
fp.close()
但问题是,当使用 tell() 的第一个输出完成 readlines() 来放置合并列表时,它没有指向文件中的正确行。它向前移动了更多的行。iefirstPart 不完全在 insertPos 处拆分。有什么我在这里想念的吗?任何帮助将不胜感激。