python可以处理excel文件(女朋友桌面文件杂乱无章)

资讯 | 2022-12-31| 3

先看效果图

python可以处理excel文件(女朋友桌面文件杂乱无章)插图

文章目录

  • 写在前面
  • 文件整理功能
  • 实现 GUI 界面
    • 设置界面主题样式
    • 添加选择路径组件及功能实现
    • 添加“整理”,“撤销”组件及功能实现
    • 添加输出框显示运行后的信息
    • 设置各个组件在界面的位置

写在前面

私信小编01即可获取大量Python学习资源

事情是这样子的,昨天回去无意看了一下女朋友桌面,密密麻麻的全是文件,各式各样的占满屏幕,简直要把我这个强迫症给难受死,让她整理一下,还懒的整理。

python可以处理excel文件(女朋友桌面文件杂乱无章)插图1

于是中午没休息写了一个文件整理工具给这个懒猪,希望她能够识抬举,给我点奖励~哈哈废话不多说,进入正题!

主要涉及到的库:tkinter:实现 GUI 编程(文本框、按钮、标签等组件实现 GUI 开发)。

pathlib:面向对象的编程方式来表示文件系统路径。ttkthemes:tkinter 主题包,让你的组件外观更加骚。Pyinstaller:是一个非常简单的打包 .py 文件的库。

文件整理功能

本文实现的文件整理实际是一种文件分类的功能,将指定文件夹下的文件进行分类,并移动到该类别的文件夹下。

首先需要定义一个文件类型的字典,来指定每个类别文件有哪些。

FILE_TYPE = { "图片": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg", ".heif", ".psd", ".raw"], "视频": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng", ".qt", ".mpg", ".mpeg", ".3gp", ".mkv"], "文档": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods", ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox", ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt", "pptx",".csv",",pdf", ], "压缩文件": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z", ".dmg", ".rar", ".xar", ".zip"], "影音": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3", ".msv", ".ogg", ".oga", ".raw", ".vox", ".wav", ".wma"], "编程": [".py",".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css", ".ipynb", ".h", '.class'], "可执行程序": [".exe"], }

整体代码的逻辑十分简单:遍历指定文件夹下的文件,忽略文件夹,只获取文件,判断文件类型是否在文件夹中出现,如果出现则移动到指定文件夹中(不存在文件夹则创建),否则归类到其他文件中。

from pathlib import Path dir_path = r'C:\Users\pc\Desktop\test' # 遍历指定文件夹下的文件,忽略文件夹 for file_path in Path(dir_path).glob('*.*'): temp = 0 # 标志是否已经通过FILE_TYPE分类 for key, value in FILE_TYPE.items(): if file_path.suffix in value: sub_dir = Path(dir_path, key) # 某类文件夹路径 if not sub_dir.exists(): sub_dir.mkdir(exist_ok=True) # 创建文件夹 file_path.rename(Path(sub_dir, file_path.name)) # 移动文件 temp = 1 break if temp == 0: sub_dir = Path(dir_path, '其他文件') if not sub_dir.exists(): sub_dir.mkdir(exist_ok=True) # 创建保存没有被识别文件的文件夹 file_path.rename(Path(sub_dir, file_path.name)) # 移动文件

实现 GUI 界面

实现 GUI 界面时在原有功能上添加了一个还原按钮,能够撤销文件整理的操作。

设置界面主题样式

window = ThemedTk(theme="adapta", fonts=True, themebg=True)

自定义 Label 样式

label_style = ttk.Style() label_style.configure("Label", font=("微软雅黑", 22, 'bold'), foreground="red", background="yellow")

添加 Label 标签,并使用自定义的样式

# 添加标签 label = tk.Label(window, text='向日葵的专属 sun', style='Label')

python可以处理excel文件(女朋友桌面文件杂乱无章)插图2

添加选择路径组件及功能实现

# 设置选择路径组件 path = tk.StringVar() entry = ttk.Entry(window, textvariable=path, width=30) button1 = ttk.Button(window,width=10, text = "选择路径", command = selectPath)

添加“整理”,“撤销”组件及功能实现

# 添加“整理”按钮 button2 = ttk.Button(window,width=10, text = "整理", command = organize_files) # 添加“还原”按钮 button3 = ttk.Button(window,width=10, text = "还原", command = cancle_organize)

点击“整理”按钮,执行 organize_files() 函数,实现文件整理,并记录文件原路径新路径,同时也要记录新创建的文件夹路径,因为还原操作时要将新创建的文件夹进行删除。

def organize_files(): if dir_path == '': tree.heading("#0", text="还未选取路径哦") return None global organize_temp organize_temp = 1 # 遍历指定文件夹下的文件,忽略文件夹 for file_path in Path(dir_path).glob('*.*'): temp = 0 # 标志是否已经通过FILE_TYPE继续分类 for key, value in FILE_TYPE.items(): if file_path.suffix in value: sub_dir = Path(dir_path, key) # 某类文件夹路径 if not sub_dir.exists(): sub_dir.mkdir(exist_ok=True) # 创建文件夹 create_dir_path.append(sub_dir) file_path.rename(Path(sub_dir, file_path.name)) # 移动文件 old_file_path[Path(sub_dir, file_path.name)] = file_path temp = 1 break if temp == 0: sub_dir = Path(dir_path, '其他文件') if not sub_dir.exists(): sub_dir.mkdir(exist_ok=True) # 创建保存没有被识别文件的文件夹 create_dir_path.append(sub_dir) file_path.rename(Path(sub_dir, file_path.name)) # 移动文件 old_file_path[Path(sub_dir, file_path.name)] = file_path tree.heading("#0", text="整理完成")

点击“还原”按钮,执行 cancle_organize() 函数,还原文件至整理之前

点击“还原”按钮,执行 cancle_organize() 函数,还原文件至整理之前

范冰冰自曝与李晨分手原因12月15日,有网友在网上分享了一段范冰冰的最新采访采访中,范冰冰罕见地提到了自己与李晨的那段感情:感谢他在这段时间里给予我的美好,当时因为我的状况他受了很多牵连,许多工作停摆遭受了很多委屈我唯一能做。

添加输出框显示运行后的信息

# 添加输出框显示 tree = ttk.Treeview(height=1, show=("tree", "headings"))

设置各个组件在界面的位置

# 设置组件位置 label.grid(row=0, column=0, padx=20, pady=40) entry.grid(row = 3, column = 0, pady=5) button1.grid(row = 3, column = 1, padx=20) button2.grid(row = 4, column = 0, pady=5) button3.grid(row = 5, column = 0, pady=5) tree.grid(row=6, column=0, pady=5)

至此,一个文件整理的小工具就已经实现了。整体界面如下:

源码打包

首先要确保已经安装 pyinstaller,没有安装的可以先安装一下。

pip install -i https://pypi.douban.com/simple pyinstaller

pyinstaller 使用时的常用参数含义:

-F:打包单个文件,产生一个文件用于部署(默认),如果代码都写在一个 .py 文件时使用,项目有多个文件时不要使用

pyinstaller -F xxx.py

-D:打包多个文件,产生一个目录用于部署(默认),用于框架编写的代码打包

pyinstaller -D xxx.py(项目入口文件)

–key=keys:使用 keys 进行加密打包

pyinstaller --key=123456 -F xxx.py

-d:产生 debug 版本的可执行文件

-p:用来添加程序所用到的包的所在位置,设置导入路径,可以用 ; ( Linux 使用 :)分割来指定多个目录。

-w:表示不用控制台窗口,使用 Windows 子系统执行,当程序启动的时候不会打开命令行(只对 Windows 有效)

-c:表示打开控制台窗口,使用控制台子系统执行,当程序启动的时候会打开命令行(默认)(只对 Windows 有效)

-i:将 file.ico 添加为可执行文件的资源,改变程序的图标(只对 Windows 系统有效)

安装完成后,新建一个文件夹,将源文件放到该文件夹下面,打开cmd, cd 进入该文件夹下(重点),执行下面语句

生成的文件结构如下

exe 可执行文件在 dist 目录下

到这里就可以把 .exe 文件发送别人了,并且可以在没有任何配置的情况下运行哦~(前提是同样是 Windows 下)

,

快手食谱8分钟就能做好的女人生理汤文/ChefShi图/Tang大姨妈驾到那几天,每天早上来一碗,对于体寒、气血亏虚的MM再适合不过了因为加了生姜,所以早上喝比晚上要好现在,让我们一起来看看是怎么做的吧~食材用量生姜(去皮)3片枸杞6。

相关推荐

梦幻西游合宠必带技能(打书合宠只是最基础的炼妖)

梦幻西游合宠必带技能(打书合宠只是最基础的炼妖)

打书合宠只是最基础的炼妖今天给大家讲的是所谓的“炼妖一条龙”,如何把一只胚子,打造成服战宠,中间到底要走多少关,当然不是非常详细,有所遗漏,请大家见谅有请主角,玩家CBG淘的一只满级宠;首先是合宠打书,或者顶书合宠,因为是买。

资讯 1 2023-02-01
梦幻西游天赋符攻略(梦幻西游山河画境灵符赛季攻略)

梦幻西游天赋符攻略(梦幻西游山河画境灵符赛季攻略)

梦幻西游山河画境灵符赛季攻略技能搭配与选择这个赛季无论你是灵符道人的专属技能,还是通用技能,其实可以看到除了几个少数防御技能,其他的都是进攻向技能,说明这个赛季,人家是鼓励你多进攻而不是一味防守这边主要教大家一些协作性的技能,让。

资讯 1 2023-02-01
兴仁市的发展与规划(昨夜今晨撤县设市)

兴仁市的发展与规划(昨夜今晨撤县设市)

昨夜今晨撤县设市昨夜今晨,这里只说重要或有趣的事~贵州1撤县设市!兴仁市人民政府印章正式启用近日,省政府办公厅下发关于启用兴仁市人民政府印章的通知,通知主要内容如下:根据《民政部关于同意贵州省撤销兴仁县设立县级兴仁市。

资讯 1 2023-02-01
飞机失踪了十年后又飞回来了(1987年小伙花25万美金买下)

飞机失踪了十年后又飞回来了(1987年小伙花25万美金买下)

1987年小伙花25万美金买下25万美金,纵使放到现在,也没人会拿这么多钱买一张飞机票然而,1987年美国一家航空公司也是这样想的,他们推出这个方案时也觉得不会有人买,搞个噱头而已谁知道还真有一个“冤大头”找上门来,航空公司看见一。

资讯 1 2023-02-01
小孩出生之后要尽快办哪些证件(这四个证件一定要抓紧办)

小孩出生之后要尽快办哪些证件(这四个证件一定要抓紧办)

这四个证件一定要抓紧办文章原创,版权归本作者所有,欢迎个人转发分享很多宝妈以为孩子出生就可以松一口气了,但还有一些和宝宝相关的手续,还需要及时办全,如果新手爸妈因忙碌而忽略,今后有可能在看病,出行等方面受到重重阻碍以下几个。

资讯 1 2023-02-01
因天气原因航班无法在目的地降落(又拿飞机当许愿池)

因天气原因航班无法在目的地降落(又拿飞机当许愿池)

又拿飞机当许愿池4月20日上午,北部湾航空官方微博披露了一旅客向飞机扔硬币“祈福”致航班取消的情况又拿飞机当许愿池!4月16日晚19时许,北部湾航空GX8814潍坊-桂林-海口航班在起飞前的检查中发现地面有硬币经机组。

资讯 1 2023-02-01
蒂芙尼全球十大珠宝品牌(不拘一格随性而行)

蒂芙尼全球十大珠宝品牌(不拘一格随性而行)

不拘一格随性而行蒂芙尼全新呈献TiffanyLock系列广告大片2022年8月15日,世界著名珠宝品牌Tiffany&Co.蒂芙尼耀目呈献全新TiffanyLock系列珠宝,以前卫设计语言大胆诠释感知自我、联结他人的。

资讯 1 2023-02-01
哪些叶子蔬菜适合生吃(农村这7种蔬菜别只吃它的果实)

哪些叶子蔬菜适合生吃(农村这7种蔬菜别只吃它的果实)

农村这7种蔬菜别只吃它的果实导读:农村这7种蔬菜别只吃它的果实,叶子更美味,关键营养价值更高在我们的日常饮食生活中,给人的感觉就是吃蔬菜的果实,或者是地下的块茎,而它们的叶子不是被用来喂猪,就是扔掉了可是你知道吗?其实很多的蔬菜。

资讯 1 2023-02-01
北京南苑机场建设时间(百年北京南苑机场今年9月将关闭)

北京南苑机场建设时间(百年北京南苑机场今年9月将关闭)

百年北京南苑机场今年9月将关闭2019年5月25日,在北京南苑机场,停机坪上的中国联航飞机中国日报记者武晓慧摄中国日报5月27日北京电(记者武晓慧)2019年5月25日,中国日报记者探访建于1910年的中国第一座机场——北京南苑机。

资讯 1 2023-02-01
云南爆浆水果玉米(没煮义专属即食爆汁的水果玉米是不是转基因产品)

云南爆浆水果玉米(没煮义专属即食爆汁的水果玉米是不是转基因产品)

没煮义专属即食爆汁的水果玉米是不是转基因产品段子开场在美国和加拿大,甜玉米是最大众化的蔬菜之一,在亚洲和欧洲部分地区消费增长也很快,成为夏季的象征就有这样一个关于玉米的段子:美国前总统小布什个人非常喜欢吃甜玉米,2004年小布什到美国玉米主...

资讯 1 2023-02-01
鱼香汁的正宗做法(鱼香菜肴怎么做才好吃)

鱼香汁的正宗做法(鱼香菜肴怎么做才好吃)

鱼香菜肴怎么做才好吃经典吃法的前世今生——鱼香白菜那些年一起被骗到的趣味菜,首当其冲的就是鱼香菜菜中无鱼,却散发鱼香,这就是鱼香菜真味流传的川菜有“七滋八味”之说七滋:麻,辣,酸,甜,咸,鲜,苦;八味:麻辣,酸辣,红油,。

资讯 1 2023-02-01
谁才是玩方舟生存进化的最强大神(服霸之间的较量)

谁才是玩方舟生存进化的最强大神(服霸之间的较量)

服霸之间的较量《方舟:生存进化》是Steam上的一款体素生存沙盒游戏,在这款游戏里,玩家们将会见识到一个由1000个服务器所构成的超大型服务器,它也被玩家们称之为“千通服”,由于这样的服务器人数太多,所以不可能会出。

资讯 1 2023-02-01