我正在写一个文件我也有问题,基本上我想要它做的是,我得到一个输入()说“输入你的名字:”存储在一个变量中,现在我创建的文件写了什么我想要并根据此人输入的内容()我想将该信息放入特定行的文件中...
这就是我做的事情并且它有效,但它覆盖当前文本而不是插入文本并将当前文本移到...
例如
index = open('index.html' 'w')
index.write(""" blah blah blah
blah blah blah
blah """)
index.seek(20)
index.write(variable)
index.close()
现在我想让变量做的就是进入文件,就像它正在做但不会覆盖当前文本,任何建议都将不胜感激。
我正在使用Python3.2。
答案 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)
但是,从您的问题来看,我怀疑该文件实际上并不存在,在这种情况下,最好的方法是先将整个文本创建为变量,然后将其写入文件。