如何用filePythonTkin中的另一个字符串替换条目中的字符串

2024-06-01 10:15:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着我有两个条目叫做oldpasswordnewpassword。用户必须以特定格式键入文件中已存在的oldpassword。如果他键入一个有效的oldpassword,他就可以更改他的密码。问题在于Python中的.replace函数。我无法用文件中的新密码替换旧密码。代码如下:

def checkpw():
    oldpass = oldpasswordvar.get()
    newpass = newpasswordvar.get()
    with open('file.txt', 'r+') as f:
        for line in f:
            list = line.split()
            pw = list[3]
            if pw == oldpass:
             f.write(line.replace(pw,newpass))


文件如下所示:

2 3 101 www
4 5 102 qpw
6 7 103 lpl
8 9 104 qpq


所以基本上

  • 我用split
  • 然后我检查oldpass是否等于list[3] = 'www','qpw','lpl','qpq'
  • 如果它相等,我想用newpass变量替换这个字符串

但它所做的只是:只需在文件末尾添加一个全新的行
它不能替换字符串。有什么想法吗


Tags: 文件密码get键入wwwlinereplacelist