2016-07-31 175 views
-2

我試圖創建一個函數來保存從我的代碼中的多個條目窗口小部件獲取的數據,並創建一個新的保存文件來存儲來自所有條目的數據。在python中創建保存功能

我做了一個名爲條目的條目列表,並試圖從中拉出來,但不能完全正確。它將創建該文件,但始終爲空。

這是我使用tkinter小部件保存爲函數的代碼。

def file_save_as(self): 
    fout = asksaveasfile(mode = 'a', defaultextension = '.txt') 
    with open('fout', 'a') as f: 
     for entry in self.entries: 
      f.write("%s\n" % entry) 
+0

你的意思做' 'fout''該行'開放的字符串(' FOUT」, 'A')爲f:',還是應了'fout'變量? – 101

+0

'asksaveasfile'返回一個已經打開的文件。要從入口小部件獲取值,請使用記錄的方法'get()'。 –

+0

或使用'asksaveasfilename'來獲取文件名。 – 101

回答

2
def file_save_as(self): 
    fout = asksaveasfilename(defaultextension = '.txt') 
    try: 
     with open(fout, 'w') as output: 
      for x in self.entries: 
       output.write(x.get()) 
    except FileNotFoundError: 
     print("Cancelled save or error in filename")