我有一个简单的程序来操作某些文本文件中的一些存储数据。但是我必须将名称和密码存储在不同的文件中以供python阅读。
我想知道我是否可以在一个文件的两个单独的行上获取这两个单词(名称和密码)并让python根据我选择覆盖的内容覆盖其中一行(密码或者名称)。
我可以通过以下方式让python读取特定行:
linenumber=linecache.getline("example.txt",4)
理想情况下ID就像这样:
linenumber=linecache.writeline("example.txt","Hello",4)
所以这只会在第4行的“example.txt”中写“Hello”。
但不幸的是,它似乎并不那么简单,我可以将这些文字存储在单独的文件中,但总体来说这样做的规模较大,我将会有很多文本文件都被命名不同的,用不同的词语。
如果有人能提供帮助,我们将不胜感激!
谢谢,詹姆斯。
答案 0 :(得分:0)
您可以尝试内置open()
功能:
def overwrite(filename,newline,linenumber):
try:
with open(filename,'r') as reading:
lines = reading.readlines()
lines[linenumber]=newline+'\n'
with open(filename,'w') as writing:
for i in lines:
writing.write(i)
return 0
except:
return 1 #when reading/writing gone wrong, eg. no such a file
小心!它在循环中重新编写所有行,当涉及异常example.txt
时可能已经空白。您可能希望始终将所有行存储在列表中,以便将它们写回异常的文件中。或者保留旧文件的备份。