Writing to file using Python
本问题已经有最佳答案,请猛点这里访问。
我有一个名为output.txt的文件,我想从代码周围的几个函数写入它,其中一些函数是递归的。问题是,每次我写东西时,我都需要一次又一次地打开文件,然后我以前写的所有东西都会被删除。我很确定有一个解决方案,以前在这里问的所有问题中都没有找到。
1 2 3 4 5 6 7 8 9 10 | 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) |
从另一个功能:
1 2 3 4 5 6 7 | def EntForAttribute(possibles,yesArr): svs = dict() for key in possibles: svs[key]=(yesArr[key]/possibles[key]) for key in possibles: with open("output.txt","w") as f: f.write(key) |
我所有的输出都是最后一个写在函数中的输出。
打开文件时需要更改第二个标志:
- 仅用于写入的
w (具有相同名称的现有文件将擦除) a 打开文件进行附加
您的代码应该是:
1 | with open("output.txt","a") as f: |
我认为您需要在append模式下打开文件(如这里所回答的:在python中append to file),如下所示:
1 2 | with open("output.txt","a") as f: ## Write out |
每次进入和退出
1 2 3 | with open("output.txt","a") as f: for key in atts: f.write(key) |
简短的回答。将文件描述符中的"w"更改为"a"以进行追加。
1 2 | with open("test.txt","a") as myfile: myfile.write("appended text") |
此线程中已回答此问题。如何附加到文件?