Python 如何写入CSV而不覆盖过去的文本

Python 如何写入CSV而不覆盖过去的文本,python,python-3.x,Python,Python 3.x,下面的代码是我到目前为止的代码。当它写入.csv时,它会覆盖我以前在文件中写入的内容。我如何才能写入文件,使其不会删除我以前的文本。(我的代码的目的是让一个人输入他们的姓名,并让程序记住他们) 下次需要追加到文件中。这可以通过在追加模式下打开文件来完成 def addToFile(file, what): f = open(file, 'a').write(what) 将open(“learner.csv”,“w”)更改为open(“learner.csv”,“a”) open的第二

下面的代码是我到目前为止的代码。当它写入.csv时,它会覆盖我以前在文件中写入的内容。我如何才能写入文件,使其不会删除我以前的文本。(我的代码的目的是让一个人输入他们的姓名,并让程序记住他们)


下次需要追加到文件中。这可以通过在追加模式下打开文件来完成

def addToFile(file, what):
    f = open(file, 'a').write(what) 
open(“learner.csv”,“w”)
更改为
open(“learner.csv”,“a”)


open的第二个参数是mode,w是write,a是append。使用append时,它会自动查找文件的结尾。

您希望以append模式('a')打开文件,而不是以write模式('w');说明了可用的不同模式

也可以考虑使用with关键字:

在处理文件对象时,最好使用with关键字。这样做的好处是,即使在执行过程中引发异常,文件也会在其套件完成后正确关闭


如果
名称
与文件中的名字不匹配,则不会进一步查找。
def addToFile(file, what):
    f = open(file, 'a').write(what) 
>>> with open('/tmp/workfile', 'a') as f:
...     f.write(your_input)