簡體   English   中英

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

[英]How to replace/change element in txt.file

我正在嘗試替換txt文件中的cetain元素。 假設如果我在telephonelist.txt中找到該名稱,我希望我使用newNumber的輸入值將數字更改為此人。 讓我們說name = Jens,然后我希望它返回99776612這是Jens的tlf數字,然后輸入'newNumber'將替換這個數字。 我是python的新手。

def change_number():
while True:
    try:
      name = input('Name: ') #Enter name
      newNumber = input('New number: ') # Wanted new number
      datafile = open('telephonelist.txt')

      if name in open('telephonelist.txt').read():
        for line in datafile:
          if line.strip().startswith(name):
            line = line.replace(name,newNumber)
            print('I found', name)
            quit()
      else:
        print('I could not find',name+',','please try again!\n')
        continue
    except ValueError:
      print('nn')
change_number()



This i telephonelist.txt

    Kari 98654321
    Liv  99776655
    Ola  99112233
    Anne 98554455
    Jens 99776612
    Per  97888776
    Else 99455443
    Jon  98122134
    Dag  99655732
    Siv  98787896

加載內容,對其進行修改,搜索到文件的開頭,再次寫入修改后的內容,然后截斷其余部分。

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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM