2013-03-28 60 views
0

嗨,所以我很難從我的Python程序中獲取文本以轉換爲字符串,所以我可以將它寫入文件,而不需要它在文件中寫入數字。我把這個代碼:什麼是將文本轉換爲Python中的字符串的方法3.3.0

from tkinter import * 

a = Tk() 
a.title("i need help") 
a.geometry("600x600") 

entryText = StringVar(None) 

codeEdit = Text(a) 
codeEdit.insert(END, "") 
codeEdit.pack(side='top') 

text = str(codeEdit) 

def setLoc(): 
    saveFile = open("DATA\Test.txt", "w") 
    saveFile.write(text) 
    saveFile.close() 


    return 

writeButton = Button(text="Write",command=setLoc) 
writeButton.pack(side='bottom') 

因此多數民衆贊成在寫代碼的OBJ LOCFILE到Test.txt文件,但是當我輸入該程序的文本框的東西,打writButton將寫入該文件只不是我輸入的內容.50132192所以我想知道我可以如何將它轉換爲字符串?

回答

0

您需要使用Text小部件的get方法才能將'1.0'(第1行,字符0)的所有文本都轉換爲END

這是您的代碼的修改版本,它在write_text函數中執行此操作。我還添加了滾動條並切換到使用grid而不是包。

from tkinter import * 
from tkinter import ttk 

def write_text(): 
    text = edit.get('1.0', END) 
    with open("DATA/Test.txt", "w") as f: 
     f.write(text) 

root = Tk() 
root.title("This May Help") 
root.geometry("600x600") 

edit = Text(root, width=80, height=25, wrap=NONE) 
edit.insert('1.0', '[enter text]') 
edit.grid(column=0, row=0, sticky=(N,W,E,S)) 

yscroll = ttk.Scrollbar(root, orient=VERTICAL, command=edit.yview) 
yscroll.grid(column=1, row=0, sticky=(N,S)) 
edit['yscrollcommand'] = yscroll.set 

xscroll = ttk.Scrollbar(root, orient=HORIZONTAL, command=edit.xview) 
xscroll.grid(column=0, row=1, sticky=(W,E)) 
edit['xscrollcommand'] = xscroll.set 

write_button = Button(text="Write", command=write_text) 
write_button.grid(column=0, row=2) 
+0

謝謝我使用的獲得(),我總是得到錯誤的,但我並沒有把「1.0」文本= edit.get(「1.0」,END)和我完全忘了在F所以謝謝^。^ – Rick

相關問題