如何在Python中将某些内容附加到文本文件的末尾?

问题描述 投票:0回答:1

由于某种原因,此代码的行为就像未追加编辑模式:

def log_time(name, time):
    get_log(date.today())
    f = open(logFile, 'a')
    f.write(name + ' | ' + time + '\n')
    f.close()

仅通过查看此功能,这有什么问题吗?我有理由确定其他功能可以正常工作。问题是,当我两次调用此函数时,文件中仅显示一件事。


我知道了哪里出了问题,但我不知道为什么这是错的。创建文件时,我使用了“ w +”模式,当我将其更改为“ a”时,它可以工作。有人可以告诉我为什么吗?

python append text-files
1个回答
0
投票

'a'是追加模式。它将始终将您写入的内容放在文件末尾(不会覆盖该文件)。我也建议使用“ with open”块,而不是每次打开文件时都说打开和关闭。

def log_time(name, time):
    get_log(date.today())
    with open(logFile, 'a') as f:
        f.write(name + ' | ' + time + '\n')

它看起来更干净,并且将在阻止后为您关闭文件。有关这些模式的更多信息,请参见https://stackoverflow.com/a/1466036/13078162

© www.soinside.com 2019 - 2024. All rights reserved.