模块和类是Python中的重要概念,使用类方法把一些高频操作封装可以很方便的在其它程序中导入和调用. 通过路径读取和保存文件是日常中经常使用的操作,但如果每次都输入长长的一串路径地址未免有些繁琐.使用tkinter的图形界面选择文件或者保存文件可以很方便的选择文件位置.
下面介绍下如何把这些操作封装成类并保存为模块.
创建模块非常简单,直接把如下代码保存为path.py文件即可
import tkinter as tkfrom tkinter import filedialogclass file_path(): """获取和保存文件路径方法 get:获取单个文件路径 gets:获取多个文件路径,接收为元组 save:设置文件保存路径,默认保存为.xlsx文件,可自定义文件扩展名 """ # 获取单文件路径 def get(self): root = tk.Tk() root.withdraw() file_path = filedialog.askopenfilename(title='Select File') return file_path def gets(self): root = tk.Tk() root.withdraw() files_path = filedialog.askopenfilenames(title='Select Files') return files_path # 设置保存路径,默认扩展名为xlsx文件,扩展名的.创建实例时可有可无 def save(self, extname=".xlsx"): root = tk.Tk() root.withdraw() if "." not in extname: extname="."+extname save_path = filedialog.asksaveasfilename(title='Save File As', defaultextension=extname) # 默认xlsx return save_path
以上代码定义了file_path类并封装了文件操作的三个常用方法,
获取单个文件路径
获取多个文件路径
设置文件保存类型和位置
封装好类方法并保存为模块文件后,调用起来和其它包一样直接import即可
#导入path.py模块并实例化一个对象pathfrom path import file_pathpath=file_path()
调用get()方法获取单个文件路径
file=path.get()print(file)
运行后弹出文件选择对话框,选择文件并把文件路径以字符串形式赋值给变量file
获取文件路径后就可以直接使用file在pandas读入
gets()方法可以获取多个文件的路径,便于批量处理文件
调用save()方法可以选择文件存放路径和设置保存类型
通俗理解一个.py文件就是一个模块,模块是管理功能代码的,模块里面可以定义类,定义函数,定义全局变量,执行对应的功能代码操作;自定义类和模块可以像其它第三方模块一样使用.