0
好吧,所以我做了一個保存爲Python的按鈕,並想知道如何從保存它的位置檢索文件路徑。我也想知道在保存過程中名稱是否改變了,怎麼知道它是什麼。如果我嘗試在不同的.py文件中調用文件名,我收到一個錯誤代碼。代碼按鈕低於Python文件路徑和名稱檢索
感謝
import tkinter, tkinter.constants, tkinter.filedialog
class tkFile(tkinter.Frame):
def __init__(self, root):
tkinter.Frame.__init__(self, root)
button_opt = {'fill': tkinter.constants.BOTH, 'padx': 5, 'pady': 5}
tkinter.Button(self, text='Save As',command=self.asksaveasfilename).pack(**button_opt)
self.file_opt = options = {}
options['filetypes'] = [('all files', '.*'), ('csv files', '.csv')]
options['initialfile'] = 'data.csv'
options['parent'] = root
def asksaveasfilename(self):
filename = tkinter.filedialog.asksaveasfilename(**self.file_opt)
if filename:
return open(filename, 'w')
if __name__=='__main__':
root = tkinter.Tk()
tkFile(root).pack()
root.mainloop()
,我想的名字叫成是下面的代碼。具體來說,我正在尋找從另存爲按鈕調用名稱到另一個文件。錯誤代碼在未定義狀態下表明自己。
name = savePathButton.tkFile.asksaveasfilename(self)
name 'self' is not defined
這個問題有點混亂。你會得到文件名,用來打開文件。爲什麼不在以後需要時將它保存? –
在程序中稍後使用時,我很難返回文件名。這更像是創建文件按鈕而不是另存爲按鈕。 –
你在這裏試圖做什麼? 'filename = tkinter.filedialog.asksaveasfilename(** self.file_opt)'給你用戶想要保存的'filename'。爲什麼使用'return open(filename,'w')'?爲什麼不只是'返回文件名',然後在後面的函數調用'打開(文件名,'W')'寫開放/創建和寫入文件? – pstatix