Tkinter 文件操作
Tkinter 文件操作
魔力刘易斯使用 filedialog 模块可以在图形界面中进行文件操作
from tkinter import filedialog
filedialog 需要先创建一个窗口对象,然后调用相应的方法
参数说明:
title
:窗口标题filetypes
:文件类型(元组中的每个元素是一个文件类型,每个文件类型是一个元组,第一个元素是文件类型的描述,第二个元素是文件类型的扩展名,多个文件类型之间用分号隔开)initialdir
:初始目录
打开文件
返回文件对象
# 打开文件,返回一个文件对象
print("请选择文件!", flush=True) # flush=True表示立即输出,不缓存
file = filedialog.askopenfile(
title="请选择文件",
filetypes=(("Python文件", "*.py;" "*.pyw"), ("文本文件", "*.txt"), ("所有文件", "*.*")),
initialdir=r"O:\vscode\Python",
)
print(f"变量:{file},类型:{type(file)}")
# 选择多个文件,返回一个文件对象列表
print("请选择多个文件!", flush=True)
files = filedialog.askopenfiles(
title="请选择多个文件",
filetypes=(("Python文件", "*.py;" "*.pyw"), ("文本文件", "*.txt"), ("所有文件", "*.*")),
initialdir=r"O:\vscode\Python",
)
print(f"变量:{files},类型:{type(files)}")
返回文件路径
# 选择文件,返回文件的路径
print("请选择文件!", flush=True)
file = filedialog.askopenfilename(
title="请选择文件",
filetypes=(("Python文件", "*.py;" "*.pyw"), ("文本文件", "*.txt"), ("所有文件", "*.*")),
initialdir=r"O:\vscode\Python",
)
print(f"变量:{file},类型:{type(file)}")
# 选择多个文件,返回文件的路径列表
print("请选择多个文件!", flush=True)
files = filedialog.askopenfilenames(
title="请选择多个文件",
filetypes=(("Python文件", "*.py;" "*.pyw"), ("文本文件", "*.txt"), ("所有文件", "*.*")),
initialdir=r"O:\vscode\Python",
)
print(f"变量:{files},类型:{type(files)}")
保存文件
返回文件对象
# 选择保存位置,创建文件并返回一个文件对象
print("请选择保存位置!", flush=True)
filename = filedialog.asksaveasfile(
defaultextension=".txt", filetypes=[("文本文件", "*.txt"), ("所有文件", "*.*")]
)
print(f"变量:{filename},类型:{type(filename)}")
返回文件路径
# 选择保存位置,创建文件并返回文件的路径
print("请选择保存位置!", flush=True)
filename = filedialog.asksaveasfilename(
defaultextension=".txt", filetypes=[("文本文件", "*.txt"), ("所有文件", "*.*")]
)
print(f"变量:{filename},类型:{type(filename)}")
选择目录
# 选择文件夹,返回文件夹路径
print("请选择文件夹!", flush=True)
folder = filedialog.askdirectory(title="请选择文件夹", initialdir=r"D:\cakkl\OneDrive\桌面")
print(f"变量:{folder},类型:{type(folder)}")