Как избежать скрытых файлов в средстве выбора файлов, используя метод tkinter filedialog.askopenfilename? - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу разрешить пользователям выбирать файлы CSV из файлового менеджера. Но он также показывает все скрытые папки, что очень неуместно. Как я могу избежать скрытых папок?

def importCSV(self):
            self.file =  filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("CSV files","*.csv"),("all files","*.*")))

Ответы [ 2 ]

0 голосов
/ 07 января 2019

После небольшого поиска мне удалось найти ответ здесь . Я внес небольшие изменения в связанный пример, чтобы он работал на 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'.

0 голосов
/ 09 ноября 2018

filedialog.askopenfilename Эта строка просто открывает средство выбора файлов операционной системы. Это не средство выбора файлов Python.

Вы можете отключить опцию show hidden files в вашей операционной системе, и они также исчезнут в средстве выбора файлов.

Для окон. Этот параметр доступен в параметрах проводника на панели управления.

Для Ubuntu, эта опция доступна на filemanager > top menu->View->Show hidden files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...