2013-12-22 35 views
1

我正在做一個程序,您使用askopenname文件對話框來選擇一個文件,然後我想將該目錄保存到一個字符串,所以我可以使用另一個函數我已經做到了)將文件提取到預定的不同位置。 打開文件對話框我的按鈕的代碼是這樣的:通過askopenfilename選擇一個字符串獲取文件的目錄

`a = tkinter.Button(gui, command=lambda: tkinter.filedialog.askopenfilename(initialdir='C:/Users/%s' % user))` 
+3

對你有好處。你有問題嗎? – MattDMo

+0

什麼?我是怎麼做到的?!我的其他兩個問題都很好。 – Phoenix

+0

你能告訴我們你嘗試過什麼嗎?官方文檔和其他網站上有很多例子。向我們展示您嘗試過的內容,並幫助您理解代碼失敗的原因。 –

回答

4

這應該是你想要什麼:

import tkinter 
import tkinter.filedialog 
import getpass 
# Need this for the `os.path.split` function 
import os 
gui = tkinter.Tk() 
user = getpass.getuser() 
def click(): 
    # Get the file 
    file = tkinter.filedialog.askopenfilename(initialdir='C:/Users/%s' % user) 
    # Split the filepath to get the directory 
    directory = os.path.split(file)[0] 
    print(directory) 
button = tkinter.Button(gui, command=click) 
button.grid() 
gui.mainloop() 
+0

非常感謝!這將完美地工作! – Phoenix

+0

這不是一個方便的小工具嗎?像'tix.FileEntry(self,dialogtype ='tixDirSelectDialog')'但沒有tix? – pihentagy

0

如果你知道文件實際上是,你總是可以只問一個目錄

from tkFileDialog import askdirectory 
directory= askdirectory() 

然後在代碼:

使用該文件而不是
相關問題