3

我正在编写的文件也有问题,基本上我想要它做的是,我得到一个输入()说“输入你的名字:”存储在一个变量中,现在我创建了文件写了我想要的并且根据该人的 input() 我想将该信息放入文件中的特定行...

这就是我所做的并且它有效,但它覆盖了当前文本,而不是插入文本并将当前文本转移到......

例如;

index = open('index.html' 'w')
index.write(""" blah blah blah
                blah blah blah
                blah """)
index.seek(20)
index.write(variable)
index.close()

现在我想要变量做的就是像它正在做的那样进入文件,但不覆盖当前文本,任何建议都将不胜感激。

我正在使用 Python3.2。

4

1 回答 1

2

要将文本插入文件,请将文件中的文本读入变量。将文本插入正确的位置,然后将文本写回文件。

像这样:

with open("filename", 'rt', encoding="utf8") as infile:
    text = infile.read()

text = text[:20] + 'inserted text' + text[20:]


with open("filename", 'wt', encoding="utf8") as outfile:
    outfile.write(text)

但是,根据您的问题,我怀疑该文件实际上事先并不存在,在这种情况下,最好的方法是先将整个文本创建为变量,然后将其写入文件。

于 2012-06-18T12:49:44.807 回答