簡體   English   中英

Python 3如何在文件中附加列表?

[英]Python 3 How do I append a list in a file?

這是我的文件數據:

  • 約翰·史密斯,5歲
  • 盧克·史密斯(7歲)
  • 瑪麗·史密斯8歲
  • Boby Smith,2歲

我希望能夠向文件中的特定用戶添加另一個號碼。 參見下文(瑪麗)。

  • 約翰·史密斯,5歲
  • 盧克·史密斯(7歲)
  • 瑪麗·史密斯8、6
  • Boby Smith,2歲

我的代碼:

with open('filename.txt','a') as file:
    file.write("\n{}, {}".format(name,number))

這段代碼可以很好地追加/寫入文件,但是每次都會寫入新用戶,我不希望這樣做。 我希望它檢查用戶是否已在文件中,並在該行后附加新的數字。 如果用戶不存在,請將其添加到文件中。

嘗試這個

value = 5
user = input('Please enter a username: ')

with open('myfile.txt', 'r+') as f:
    var = f.readlines()
    if user in ''.join(var):
        for count, line in enumerate(var):
            if user in line:
                found = line.strip() + ', ' + str(value) + '\n'
                var[count] = found
    else:
        '{} not in the file but has been added'
        var.append(user + ' ' + str(value) + '\n')

with open('myfile.txt', 'w') as f:
        f.writelines(var)

應該有比兩次打開文件更好的方法,但是它可以工作

這將起作用:

file = open('filename.txt','r')
file.read()
data = file.replace('Mary Smith, 8', 'Mary Smith, 8, 6')
file.close()
file = open('filename.txt', 'w')
file.write(data)
file.close()

暫無
暫無

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

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