使用Python写入文件

2024-06-25 23:54:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件叫做输出.txt,我想从代码周围的几个函数中写入,其中有些是递归的。 问题是,每次我写的时候我都需要一次又一次地打开文件,然后我以前写的东西都会被删除。 我很确定有一个解决办法,不是在所有的问题中都能找到的。。在

def CutTable(Table, index_to_cut, atts, previousSv, allOfPrevSv):
    print ('here we have:')
    print atts
    print index_to_cut
    print Table[2]
    tableColumn=0
    beenHere = False
    for key in atts:
        with open("output.txt", "w") as f:
            f.write(key)

从另一个函数:

^{pr2}$

我所有的输出都是最后一个写在函数里的。。在


Tags: 文件tokey函数代码txtindexdef
3条回答

每次您进入和退出with open...块时,您都在重新打开文件。正如其他答案所提到的,每次都要重写文件。除了切换到append之外,交换with和{}循环可能是个好主意,这样每次写入只打开一次文件:

with open("output.txt", "a") as f:
    for key in atts:
        f.write(key)

我相信您需要以append模式打开文件(如这里所回答的:append to file in python),如下所示:

with open("output.txt", "a") as f:
    ## Write out

打开文件时需要更改第二个标志:

  • w仅用于写入(具有相同名称的现有文件将 删除)
  • a打开要附加的文件

你的代码应该是:

with open("output.txt", "a") as f:

相关问题 更多 >