所以我正在为我正在编写的这个项目编写一个tKinter GUI,并且我遇到了一个按钮方法问题。在这个按钮的方法中,代码打印一个文本文件的坐标列表。它第一次效果很好,但如果在关闭根tKinter窗口之前再次按下按钮,它不会截断文件 - 它只是将下一个起始坐标添加到最后。这里是我的代码:file.open用“w”不覆盖Python中的文件tKinter按钮方法
#print to file
reportFile = open('gridCenters.txt','w')
reportFile.write('In movement order:\n')
for x in xrange(0,len(coordinates)):
reportFile.write('%s\n' % str(coordinates[x]))
reportFile.close()
现在,这是一个按钮的方法中,所以我的理解,应该执行每次按下按钮时。真奇怪的部分是,在再次按下按钮后的输出中,它只打印循环值。出于某种原因,它跳过了“在运动顺序”部分。 它不会让我上传图片,但这里是它的外观一个想法:如果我再次按下按钮关闭根窗口前
In movement order:
(0,1)
(0,2.5)
(0.3.5)
(0,4.5)
然后:
In movement order:
(0,1)
(0,2.5)
(0.3.5)
(0,4.5)
(0,1)
(0,2.5)
(0.3.5)
(0,4.5)
(这些区块麦凯纳t代码,只是文本输出)
我只是非常困惑。我的理解是,每次按下按钮时,都应该覆盖文件,然后关闭它。
感谢您的帮助。
你是什么意思'它跳过了“在运动顺序”部分?我们可以在您的示例中看到_In移动顺序:_字符串。 – boardrider
请创建一个最小的完整示例。你的代码看起来很好,所以必须有更多的问题比你意识到的要多。请参阅http://stackoverflow.com/help/mcve –
感谢您的帮助,我意识到我的错误。它将新的信息附加到坐标列表中。 – plus1etal