2014-11-03 39 views
-1

我是Python新手,並決定在Tkinter中創建一個文本編輯器。我已經完成了大部分工作,但我陷入了保存功能;我已經有一個另存爲,但我不知道如何確定:使用SaveAS函數的Python保存函數

  1. 用戶打開或保存文件;和
  2. 它的名字是什麼?

我嘗試這樣做:

def saveas(): 
    file = filedialog.asksaveasfile(mode="w", defaultextension=".txt") 
    if(file is None): 
     return 
    savetext = str(text.get(1.0, END)) 
    file.write(savetext) 
    file.close() 
    print(file) 
    cfile = file 

cfile是沒有得到分配,即使它沒有,我不能確定如何從那裏繼續。

找到了解決辦法here

+2

'cfile' **的** *「獲得分配」 *,但僅在'saveas'本地。你不應該'回來'什麼?你是什​​麼意思*「'defaultextension =」。txt「'什麼都不做」*? – jonrsharpe 2014-11-03 12:30:47

+0

@jonrsharpe,但在頂部它被定義爲「」,對吧?而defaultextension是一個錯誤,它確實有效。 – 2014-11-03 12:40:25

+0

你是什麼意思*「在頂部」*?你能提供一個[最小的例子](http://stackoverflow.com/help/mcve)?也許你應該對Python的範圍規則做一些研究。 – jonrsharpe 2014-11-03 13:25:21

回答

-1

該項目與範圍的問題百出,我理所當然地蟒蛇多麼簡單似乎被遺忘範圍

+0

這不回答被問到的問題。 – 2014-11-23 22:42:34

+0

@BryanOakley,代碼有效(不包括範圍) – 2014-11-24 01:21:06

+0

這可能是對的,但答案部分是針對其他人可能會覺得有用的問題的答案。這個答案對任何人都沒有用。 – 2014-11-24 02:07:35