1. 程式人生 > >Tkinter的Text獲取輸入值及刪除換行的做法

Tkinter的Text獲取輸入值及刪除換行的做法

我在我的python Tkinter指令碼中有一個文字小部件,我試圖獲取使用者輸入的值。我的意圖是將文字小部件中的資料與指令碼中的其他值(即x,y,z)一起寫入txt檔案(faultlog.txt)中,並將其作為單列與半列分隔。這是我的嘗試。
text=Text(width=30,height=1)
text.place(x=15,y=75)
data=text.get(1.0,END)
lines=[]
lines.append('{};{};{};{} \n'.format(data,x,y,z))
faultlog=open("faultlog","a")
faultlog.writelines(lines)
faultlog.close()
而不是在文字檔案中給我一個單行輸出,python將它寫入txt檔案(假設使用者輸入的資料是“abcdefgh”)
abcdefgh
;x;y;z
只是為了說清楚,這就是我想要的
abcdefgh;x;y;z


Text用一個尾隨的換行符輸出它的內容。你可以使用data.strip()它返回字串的一個副本而不用結尾空格。
當您獲得所有文字時,最後還會包含“\ n”。你可以像這樣刪除最後一個字元:
data=text.get(1.0,END)[:-1]
請注意,這總是獨立於文字長度的長度:
>>> "\n"[:-1]
>>> ""[:-1]