tk.filedialog.askopenfilename() 不显示 . 开头文件
时间: 2023-11-28 09:50:55 浏览: 68
`tk.filedialog.askopenfilename()` 默认情况下是不显示以`.`开头的文件的,这是因为这些文件通常是隐藏文件或者系统文件。如果你想要选择这些文件,可以使用`filetypes`参数来指定需要显示的文件类型。
例如,如果你想要显示所有文件(包括以`.`开头的文件),可以这样写:
```python
from tkinter import filedialog
filename = filedialog.askopenfilename(filetypes=[("All Files", "*.*")])
```
这里的`filetypes`参数指定了一个文件类型为“所有文件”,后缀名为“*.*”,这样就可以显示所有文件了。如果你想要显示特定类型的文件,可以根据需要修改`filetypes`参数的值。
相关问题
linux tk.filedialog.askopenfilename() 会显示隐藏目录 怎么取消
在 Linux 中,`tk.filedialog.askopenfilename()` 默认会显示所有目录,包括以`.`开头的隐藏目录。如果你想取消显示隐藏目录,可以使用以下代码:
```python
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.withdraw()
# 配置 file dialog options
file_opt = options = {}
file_opt['initialdir'] = '/'
file_opt['title'] = '选择文件'
file_opt['show'] = False # 不显示隐藏文件
# 显示文件对话框
filename = filedialog.askopenfilename(**file_opt)
```
这样,`file_opt['show']` 的值被设置为False,就不会显示隐藏文件了。
def open_file(): file_path = tk.filedialog.askopenfilename() with open(file_path, "r") as f: text.insert("1.0", f.read()) 怎么忽略隐藏文件 和隐藏目录
你可以使用 `os` 模块来判断文件是否为隐藏文件或隐藏目录,然后根据判断结果来忽略它们,如下所示:
```python
import os
import tkinter as tk
from tkinter import filedialog
def open_file():
file_path = filedialog.askopenfilename()
if not file_path: # 用户取消文件选择
return
# 判断是否为隐藏文件或隐藏目录
if os.path.basename(file_path).startswith(".") or any(part.startswith(".") for part in file_path.split(os.path.sep)):
return
with open(file_path, "r") as f:
text.insert("1.0", f.read())
```
这里使用 `os.path.basename(file_path)` 获取文件名(不包含路径),然后判断是否以 `.` 开头;同时也使用 `os.path.sep` 获取路径分隔符,将路径拆分为多个部分,然后再判断每个部分是否以 `.` 开头。如果满足这些条件之一,就忽略该文件。
阅读全文