如何从 Python 文件中的当前位置左移两个字符?

How do I go two characters left from the current position in file in Python?

我正在做一个项目,在其中我必须经常从中心某处的位置编辑文件。我想转到单词 'rules' 开始的位置左侧的 2 个字符。

我试过这样的方法:

with open("file.txt", "r+") as fh:
    content = fh.read()
    index = content.seek("rules") - 2

但它把我带到了两行而不是回到两个字符。

文件是这样的:

rule1
rule2
rule3
rule4
.
.
.
.
rule100

rules are very good.

所以,基本上它是以 'rules' 开头的文件的最后一行,我想在以 'rule100' 开头的行的末尾写一个新行将是 'rule101' 并保存文件。

我们首先将文件拆分成行。 - 然后我们将从列表中找到 "rules" 的索引。
从那里 - 我们将插入我们希望插入的新规则。

然后以 updated_content 的身份加入此列表。

然后我们寻找到文件的开头并用updated_content

写入
with open("text.txt", "r+") as fh:
    content = fh.read().splitlines()

    rulesIndex = content.index("rules are very good.")
    content.insert(rulesIndex - 1, "rule101")

    updated_content = "\n".join(content)

    fh.seek(0)
    fh.write(updated_content)

之前

rule1
rule2
rule3
rule4
.
.
.
.
rule100

rules are very good.

之后

rule1
rule2
rule3
rule4
.
.
.
.
rule100
rule101

rules are very good.

如果您只向文件添加内容,您可以使用追加。那么你就不需要专门的线路并搜索它了。只是做:

with open("file.txt", "a") as fh:
    fh.append("rule101")