如何替换/更改txt.file中的元素

时间:2019-03-16 12:43:52

标签: python python-3.x

我正在尝试替换txt文件中的cetain元素。 可以说,如果我在phonelist.txt中找到姓名,我希望我使用输入的newNumber值将该号码更改为此人。 假设name = Jens,然后我希望它返回997.6612,这是tlf编号给Jens,然后输入“ newNumber”将替换此数字。我是python的新手。

AddProductToBag

1 个答案:

答案 0 :(得分:0)

加载内容,对其进行修改,搜索到文件的开头,再次写入修改后的内容,然后截断其余部分。

def change_number():
    name = input('Name: ') #Enter name
    newNumber = input('New number: ') # Wanted new number
    with open('telephonelist.txt', 'r+') as file:
        data = file.read().splitlines()
        data = [line if not line.split()[0] == name else f"{name} {newNumber}" for line in data]
        file.seek(0)
        file.write("\n".join(data))
        file.truncate()

change_number()