Python - синтаксис tkinter askdirectory - PullRequest
0 голосов
/ 28 июня 2018

У меня вопрос по поводу askdirectory() в tkinter. Можно ли использовать эту функцию, а также указать, что находится внутри папки, из которой я хочу выбрать каталог?

Потому что теперь, когда я использую функцию, я могу открыть проводник и получить путь к папке, в которой я нуждаюсь, но я не могу определить, что содержит эта папка (я сейчас, сейчас, перед этим сейчас) ... С askdirectory функция папка говорит "Нет элементов, соответствующих вашему поиску." Итак, я придумал это:

 filepath_ask = filedialog.askdirectory(
                initialdir=os.path.dirname(filedialog.askopenfilename(title ="Pick a folder in directory with .log files")),
                title = "Press 'Select Folder'")

Но это не так "удобно для пользователя". Сначала он открывает окно с askopenfilename, чтобы я мог видеть содержимое в папке, затем он закрывает, когда я выбираю файл, и открывает новое окно с askdirectory для «Выбрать папку», в которой есть содержимое / файл, который я выбрал. в окне раньше. Должен быть лучший способ? Я перечитывал документацию, но не могу найти ничего, что работает. Помощь будет оценена! Спасибо

1 Ответ

0 голосов
/ 29 июня 2018

Если вы считаете, что пользователю не нужно выбирать файл в диалоговом окне askopenfilename, то почему бы просто не запустить его (и вообще пропустить askdirectory):

import tkinter as tk
from tkinter import filedialog
import pathlib

root = tk.Tk()
ask = filedialog.askopenfilename(title="Select a directory", filetypes = [("log",".log"),("All Files",".*")])
print(f"User selected Directory: {pathlib.Path(ask).resolve().parent}")
root.destroy()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...