所以我正在爲我正在編寫的這個項目編寫一個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