用python编写一些脚本时,难免会遇到一些文件相关的操作,或者是图像等处理时需要按意愿选择一些颜色。
而tkinter库基本能满足这些需求。
文章目录
-
1. askopenfilename(title, filetypes, initialdir, initialfile, defaultextension)
-
2. askopenfilenames(title, filetypes, initialdir, initialfile, defaultextension)
-
3. askdirectory(title, initialdir)
-
4. asksaveasfilename(title, filetypes, initialdir, initialfile, defaultextension)
文件相关(filedialog):
from tkinter.filedialog import askopenfilename, askopenfilenames, askdirectory, asksaveasfilename
各函数对应的具体说明:
函数
|
说明
|
askopenfilename()
|
弹出窗口,选择后返回文件绝对路径(只能选择单个文件)
|
askopenfilenames()
|
可选择多个文件,返回值为所选全部文件绝对路径构成的元组
|
askdirectory()
|
返回值为目录(文件夹)绝对路径
|
asksaveasfilename()
|
返回值为需要保存文件的绝对路径(用于保存文件)
|
1. askopenfilename(title, filetypes, initialdir, initialfile, defaultextension)
参数
|
说明
|
title
|
弹窗的标题【str】
|
filetypes
|
文件类型限定(例:filetypes=[(‘Picture’, ‘.jpg .gif .png’), (‘All’, ‘.*’)])
|
initialdir
|
初始目录(即文件选择对话框打开时的目录)【str】
|
initialfile
|
初始文件(用于找特定名称的文件,或是保存文件时用此参数)
|
defaultextension
|
默认文件扩展名(若是选择文件时没有添加扩展名,默认加上此参数,主要用于保存文件)
|
代码示例
file_path = askopenfilename(title='请选择文件', initialdir=r'D:\Tem',
filetypes=[('pic', '.jpg .png .gif .bmp')],
defaultextension='.jpg',
initialfile='ys3.jpg'
print(file_path)
运行后:
直接确定后,得到输出:
2. askopenfilenames(title, filetypes, initialdir, initialfile, defaultextension)
参数
|
说明
|
title
|
弹窗的标题【str】
|
filetypes
|
文件类型限定(例:filetypes=[(‘Picture’, ‘.jpg .gif .png’), (‘All’, ‘.*’)])
|
initialdir
|
初始目录(即文件选择对话框打开时的目录)【str】
|
initialfile
|
初始文件(用于找特定名称的文件,或是保存文件时用此参数)
|
defaultextension
|
默认文件扩展名(若是选择文件时没有添加扩展名,默认加上此参数,主要用于保存文件)
|
代码示例
files_path = askopenfilename(title='请选择文件', initialdir=r'D:\Tem',
filetypes=[('pic', '.jpg .png .gif .bmp')],
defaultextension='.jpg',
initialfile='ys3.jpg'
print(files_path)
运行后:
选择多个文件后确定,得到输出:
('D:/Tem/ys1.jpg', 'D:/Tem/ys2.jpg', 'D:/Tem/ys3.jpg', 'D:/Tem/ys4.jpg')
3. askdirectory(title, initialdir)
参数
|
说明
|
title
|
弹窗的标题【str】
|
initialdir
|
初始目录(即文件选择对话框打开时的目录)【str】
|
代码示例
file_path = askopenfilename(title='请选择目录', initialdir=r'D:\Tem',)
print(file_path)
运行后:
选择目录后确定,得到输出:
4. asksaveasfilename(title, filetypes, initialdir, initialfile, defaultextension)
参数
|
说明
|
title
|
弹窗的标题【str】
|
filetypes
|
文件类型限定(例:filetypes=[(‘Picture’, ‘.jpg .gif .png’), (‘All’, ‘.*’)])
|
initialdir
|
初始目录(即文件选择对话框打开时的目录)【str】
|
initialfile
|
初始文件(用于找特定名称的文件,或是保存文件时用此参数)
|
defaultextension
|
默认文件扩展名(若是选择文件时没有添加扩展名,默认加上此参数,主要用于保存文件)
|
代码示例
out_path = asksaveasfilename(title='请选择输出文件', initialdir=r'c:\users\pxo\desktop',
filetypes=[('JPG', '.jpg'),
('PNG', '.png'),
('文本', '.txt'),
('GIF', '.gif'),
('all file', '.*')],
defaultextension='.png',
initialfile='wula.jpg')
print(out_path)
运行后:
直接确定,得到输出:
然后把扩展名去掉后点确定看看会怎样。输出:
注意: 文件名栏输入没有扩展名时,选择all(.*)时返回才是没有扩展名的文件路径,于/是会自动添加 defaultextension 参数作为扩展名;否则可以只输入名字,然后在保存类型里选择相应的类型,返回时则会自动添加
输出:
调色板(colorchooser):
from tkinter.colorchooser import askcolor
askcolor(title)
参数
|
说明
|
title
|
弹窗标题
|
返回值
|
所选颜色RGB值以及16进制值组成的元组,例:((255, 255, 255), ‘#FFFFFF’)
|
代码示例:
cl = askcolor(title='请选择颜色')
print(cl)
运行后:
选择颜色后确定,得到输出:
((116.453125, 205.80078125, 194.7578125), '#74cdc2')