为什么tkinter.filedialog.askdirectory没有返回完整路径(使用选定的dirname)?

问题描述 投票:1回答:1

我正在尝试通过tkinter.filedialog.askdirectory获取目录的完整路径,但它只返回根文件夹的路径,例如,选择文件夹/ root只会返回'/',这看起来很奇怪,如何让它返回python3.5中的完整路径?

从tkinter import filedialog导入tkinter作为tk

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)
tkinter python-3.5
1个回答
2
投票

filedialog.askdirectory()方法返回需要filedialog.Directory命令的PyObject类的实例:

enter image description here

仅仅选择文件夹并不代表命令,因此您不会打印所需的文件夹。通过双击您想要的文件夹代表一个令人满意和连贯的PyObject命令,从而产生您期望的结果。

简单来说:您需要双击要打开的文件夹,然后单击“确定”,而不是简单地选择它并单击文件打开对话框窗口中的Ok。否则,您将打印出您现在所在目录的路径(initialdir = '/'

© www.soinside.com 2019 - 2024. All rights reserved.