После небольшого поиска мне удалось найти ответ здесь . Я внес небольшие изменения в связанный пример, чтобы он работал на Python 3. Чтобы проверить его, просто нажмите ctrl+o
после выполнения.
from tkinter import *
from tkinter import filedialog
root = Tk()
try:
# call a dummy dialog with an impossible option to initialize the file
# dialog without really getting a dialog window; this will throw a
# TclError, so we need a try...except :
try:
root.tk.call('tk_getOpenFile', '-foobarbaz')
except TclError:
pass
# now set the magic variables accordingly
root.tk.call('set', '::tk::dialog::file::showHiddenBtn', '1')
root.tk.call('set', '::tk::dialog::file::showHiddenVar', '0')
except:
pass
# a simple callback for testing:
def openfile(event):
fname = filedialog.askopenfilename(initialdir='/', title='Select file', filetypes=(('CSV files', '*.csv'), ('all files', '*.*')))
print(fname)
root.bind('<Control-o>', openfile)
root.mainloop()
showHiddenVar
используется для выбора, будут ли скрытые файлы отображаться по умолчанию или нет. Если вы не хотите, чтобы пользователи могли переключаться между отображением и скрытием скрытых файлов, просто установите showHiddenBtn
на '0'
.