Python 请注明“;这台电脑;作为tkinter打开文件弹出窗口中的初始目录

Python 请注明“;这台电脑;作为tkinter打开文件弹出窗口中的初始目录,python,tkinter,Python,Tkinter,我正在编写一个python脚本,它使用tkinter使用代码打开“打开文件弹出窗口” root.filename=filedialog.askopenfilename(initialdir=“/”,title=“Select file”,filetypes=(“文本文件”,“*.txt”),(“所有文件”,“*”))。我想让它设置initialdir,默认打开的目录为“thispc”。这可能吗 编辑:似乎表示这是不可能的。这是可能的 您可以通过CLSID键引用此文件夹,该键为20D04FE0-3

我正在编写一个python脚本,它使用tkinter使用代码打开“打开文件弹出窗口”
root.filename=filedialog.askopenfilename(initialdir=“/”,title=“Select file”,filetypes=(“文本文件”,“*.txt”),(“所有文件”,“*”))
。我想让它设置initialdir,默认打开的目录为“thispc”。这可能吗

编辑:似乎表示这是不可能的。

这是可能的

您可以通过
CLSID
键引用此文件夹,该键为
20D04FE0-3AEA-1069-A2D8-08002B30309D
,可以通过以下路径在注册表中查看:

HKEY\U LOCAL\U MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}

所以试试这个:

import tkinter as tk
import tkinter.filedialog as filedialog

root = tk.Tk()
root.withdraw()
root.filename = filedialog.askopenfilename(initialdir='::{20D04FE0-3AEA-1069-A2D8-08002B30309D}',
                                           title='Select file',
                                           filetypes=(('text files', '*.txt'), ('all files', '*.*')))
或者,您也可以通过
shell:MyComputerFolder
访问此虚拟路径,它更具意义和可读性:

import tkinter as tk
import tkinter.filedialog as filedialog

root = tk.Tk()
root.withdraw()
root.filename = filedialog.askopenfilename(initialdir='shell:MyComputerFolder',
                                           title='Select file',
                                           filetypes=(('text files', '*.txt'), ('all files', '*.*')))

只有窗户的东西?(我可能会因为没有接触tkinter而出丑。“这台电脑”条目也是Windows独有的吗?@usr2564301,是的,据我所知是这样的。此外,我想不出在其他系统中有任何替代或类似的实现(但幸运的是,我现在唯一的另一个系统是macos——唯一类似的东西是我的普通查找器),因此这个解决方案是特定于windows的。