tkinter 根据tk.filedialog.asksaveasfilename自动生成后缀
时间: 2023-12-12 08:04:32 浏览: 254
可以通过`defaultextension`参数来设置默认的文件后缀。例如,如果你想要在保存文件时自动添加`.txt`后缀,可以这样写:
```python
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
def save_file():
filename = filedialog.asksaveasfilename(defaultextension='.txt')
# do something with the filename
button = tk.Button(root, text="Save", command=save_file)
button.pack()
root.mainloop()
```
这样当用户选择保存文件时,如果没有指定文件后缀,程序会自动在文件名后添加`.txt`后缀。
相关问题
tk.filedialog.askopenfilename() 不显示 . 开头文件
`tk.filedialog.askopenfilename()` 默认情况下是不显示以`.`开头的文件的,这是因为这些文件通常是隐藏文件或者系统文件。如果你想要选择这些文件,可以使用`filetypes`参数来指定需要显示的文件类型。
例如,如果你想要显示所有文件(包括以`.`开头的文件),可以这样写:
```python
from tkinter import filedialog
filename = filedialog.askopenfilename(filetypes=[("All Files", "*.*")])
```
这里的`filetypes`参数指定了一个文件类型为“所有文件”,后缀名为“*.*”,这样就可以显示所有文件了。如果你想要显示特定类型的文件,可以根据需要修改`filetypes`参数的值。
tkinter 选择文件夹并对文件夹下的图片进行边缘处理
要使用 tkinter 来选择文件夹并对文件夹下的图片进行边缘处理,可以结合使用 `filedialog` 模块和 `Pillow` 图像处理库。下面是一个简单的示例代码:
```python
from tkinter import *
from tkinter import filedialog
from PIL import Image, ImageFilter
import os
root = Tk()
root.withdraw()
folder_selected = filedialog.askdirectory()
for file_name in os.listdir(folder_selected):
if file_name.endswith('.jpg') or file_name.endswith('.png'):
file_path = os.path.join(folder_selected, file_name)
with Image.open(file_path) as im:
im_edge = im.filter(ImageFilter.FIND_EDGES)
im_edge.save(os.path.join(folder_selected, f'edge_{file_name}'))
```
这个代码会弹出一个对话框,让用户选择文件夹。然后遍历文件夹下的所有文件,只处理后缀为 `.jpg` 或 `.png` 的图片文件。对于每个图片文件,使用 `Pillow` 打开图像,对其进行边缘处理,并保存为新的文件,文件名以 `edge_` 前缀加上原文件名。
阅读全文