Укажите "этот компьютер" в качестве начального каталога в открывшемся файле tkinter - PullRequest
0 голосов
/ 01 декабря 2018

Я пишу скрипт на python, который использует tkinter, чтобы открыть «всплывающее окно с открытым файлом», используя код root.filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("text files","*.txt"),("all files","*.*"))).Я хочу, чтобы он установил initialdir, каталог, который открыт по умолчанию для «Этот компьютер».Это возможно?

Редактировать: https://www.quora.com/Where-is-exactly-located-the-This-PC-My-Computer-in-Windows говорит, что это невозможно.

1 Ответ

0 голосов
/ 01 декабря 2018

Это возможно.

Вы можете обратиться к этой папке по ключу CLSID, который является 20D04FE0-3AEA-1069-A2D8-08002B30309D и может быть просмотрен в Реестре по этому пути:

HKEY_LOCAL_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', '*.*')))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...