2016-03-19 76 views
1

我試圖通過tkinter.filedialog.askdirectory選擇一個目錄的完整路徑,但它只返回根文件夾的路徑,例如,選擇文件夾/ root將僅返回'/',這似乎奇怪,如何獲得它返回python3.5中的完整路徑?爲什麼tkinter.filedialog.askdirectory沒有返回完整路徑(使用選定的dirname)?

進口Tkinter的稱爲TK 從Tkinter的進口的FileDialog

root = tk.Tk() 
root.withdraw() 
dirname = filedialog.askdirectory(parent=root,initialdir="/",title='Please select a directory') 
if len(dirname) > 0: 
    print("You chose %s" % dirname) 
+0

它按預期在我的Mac上運行,你使用的操作系統是什麼? –

+0

Linux gnu 4.2.0-27-generic#32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux – ubugnu

+1

所以它返回打開的文件夾而不是所選的文件夾?如果你雙擊'/ root'來導航到它,那麼確認它是否給你正確的路徑?我記得我的朋友在linux上有與python相同的問題。 –

回答

2

filedialog.askdirectory()方法返回需要PyObject命令filedialog.Directory類的一個實例:

enter image description here

一個文件夾的僅僅選擇不代表一個命令,因此你不會打印你想要的文件夾。通過雙擊你想要的文件夾代表一個令人滿意的和一致的PyObject命令,產生你期望的結果。

在簡單的話:你需要雙擊要打開的文件夾,然後單擊OK和不是簡單地選擇它並點擊Ok文件打開對話窗口。否則,你會打印出你現在所在目錄的路徑(initialdir = '/'

相關問題