Python 如何写入CSV而不覆盖过去的文本
下面的代码是我到目前为止的代码。当它写入.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的第二
下次需要追加到文件中。这可以通过在追加模式下打开文件来完成
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)