我有一个文本文件,里面列出了数字和名字。每个数字都属于一个特定的名称,它们属于同一行。文件的内容如下所示:
Kari 98654321
Liv 99776655
Ola 99112233
Anne 98554455
Jens 99776612
Per 97888776
Else 99455443
Jon 98122134
Dag 99655732
Siv 98787896
(注*名称和数字之间用新行分隔,出于某种原因,它只是将所有内容粘贴在同一行中) 假设我选择“Else”作为所选名称,我希望能够更新文件并用新的所选号码更改所选人员的号码
我对python不是很有经验,所以我一直在努力寻找解决这个问题的方法,但是我试着用.replace()
、.readline()
和其他函数来替换内容,但是我一直在替换整个文件
import os
def endreNummer():
with open("hei.txt", "a+"):
endreNummer()
如果我选择“Kari”作为名称,选择“1881”作为新编号,则为预期输出。输出如下所示:
Kari 1881
Liv 99776655
Ola 99112233
Anne 98554455
Jens 99776612
Per 97888776
Else 99455443
Jon 98122134
Dag 99655732
Siv 98787896
给你,这个就行了。你知道吗
正如Mateen Ulhaq在评论中提到的那样,如果不重写整个文件,那么就没有合理的方法来实现这一点,所以这个解决方案只包含这一点。但是,只有在找到带有初始文件的choosen名称时,它才会重写文件。你知道吗
另外,当输入的数字不是一个真正的数字时,这也不能处理这种情况,所以如果有人输入
notnumber123
作为选择的数字,它仍然会被写入文件。你知道吗正如一些评论所建议的,您不能访问文本文件的特定行。到目前为止,您尝试过的方法确实会替换字符串中的文本(如您所愿),但是您正在修改的字符串不再有任何指向文件的链接。你知道吗
您必须读取内存中的孔文件。进行所需的更改,然后将所有内容写回文件。你知道吗
这个例子适用于这个特定的情况。我将把推广它的挑战留给你。你知道吗
看来一本字典最适合这种情况。我想试试这个:
只需更新任何数字:
相关问题 更多 >
编程相关推荐