python - Python - tkinter askdirectory 语法
问题描述
我有一个关于askdirectory()
in 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
包含我之前在窗口中选择的内容/文件的“选择文件夹”。一定会有更好的办法?我一直在阅读文档,但找不到任何有用的东西。帮助将不胜感激!谢谢
解决方案
如果您认为让用户在对话框中选择一个文件并不那么麻烦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()
推荐阅读
- robotframework - 如何使用机器人框架返回字符串
- solr - solr 本地参数无法识别
- linux - 检测并删除文件或文件夹名称中的前导空格
- unit-testing - 如果存在 C=A/B 且要求是 C>=0 的等式,那么您可以在这种情况下编写测试用例吗?
- php - Laravel“超过60秒的最大执行时间”
- git - 使用 GIT LFS 克隆存储库时出现“解析 URL 时出错”
- spring - Spring Boot 中的过滤器初始化
- php - Laravel DB 失去连接(大概)
- python - 无法使用 webdriver python selenium 为组合框设置下拉值
- abap - 全局对象类型中缺少CLASS语句的添加“PUBLIC”