python open()函数问题

时间:2012-06-18 12:42:42

标签: python python-3.x

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

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

例如

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

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

我正在使用Python3.2。

1 个答案:

答案 0 :(得分: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)

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