python桌面程序臃肿_Python自动化整理文件“大升级”,任意路径下文件,都给你整理的明明白白!...

为什么需要加星标?

由于微信公众号出现了 “乱序” 排列的状况,为了朋友们能第一时间,收到我的推送文章。希望您抽出一分钟,完成如下三步。

01

02

03

2205

人已添加“星标”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

作者:Huny

关注下方作者博客园,精彩抢先看!

https://www.cnblogs.com/huny/p/14146719.html

大家好,我是为大家分享“干货”和“黑科技”的黄同学!

1. 前言

工作上的文档和资料好几个月没整理了,因为平常太忙都是随手往桌面丢。整个桌面杂乱无章全是文档和资料。几乎快占满整个屏幕了,所有我必须要整理一下了。但是手动整理太费时间了,于是我想到了python。

但是这几个模块,我很早就给大家讲述过了,这里就不再做过多的解释了,大家可以参考下面之前写的文章进行学习,而这里就直接上代码了。

2. 基础版

import os

import glob

import shutil

'''

@Author: huny

@date:  2020.12.06

@function:  桌面整理

'''

class FileType():

def __init__(self):

self.filetype = {

"图片": [

".jpeg",

".jpg",

".tiff",

".gif",

".bmp",

".png",

".bpg",

"svg",

".heif",

".psd"],

"视频": [

".avi",

".flv",

".wmv",

".mov",

".mp4",

".webm",

".vob",

".mng",

".qt",

".mpg",

".mpeg",

".3gp",

".mkv"],

"音频": [

".aac",

".aa",

".aac",

".dvf",

".m4a",

".m4b",

".m4p",

".mp3",

".msv",

".ogg",

".oga",

".raw",

".vox",

".wav",

".wma"],

"文档": [

".oxps",

".epub",

".pages",

".docx",

".doc",

".fdf",

".ods",

".odt",

".pwi",

".xsn",

".xps",

".dotx",

".docm",

".dox",

".rvg",

".rtf",

".rtfd",

".wpd",

".xls",

".xlsx",

".ppt",

".pptx",

".csv",

".pdf",

".md",

".xmind"],

"压缩文件": [

".a",

".ar",

".cpio",

".iso",

".tar",

".gz",

".rz",

".7z",

".dmg",

".rar",

".xar",

".zip"],

"文本": [

".txt",

".in",

".out",

".json",

".xml",

".log"],

"程序脚本": [

".py",

".html5",

".html",

".htm",

".xhtml",s

".c",

".cpp",

".java",

".css",

".sql"],

"可执行程序": [

".exe",

".bat",

".lnk"],

"字体文件": [

".ttf",

".OTF",

".WOFF",

".EOT"]

}

def JudgeFile(self, pathname):

for name, type

in self.filetype.items():

if pathname

in type:

return name

return

"无法判断类型文件"

class DeskTopOrg(object):

def __init__(self):

self.filetype = FileType()

def Organization(self):

filepath = os.path.join(os.path.expanduser(

'~'),

"Desktop")

paths = glob.glob(filepath +

"/*.*")

# print('paths-->',paths)

for path

in paths:

try:

if

not os.path.isdir(path):

file = os.path.splitext(path)

filename,type = file

# print('type-->',type)

# print("filename-->",filename)

print(

'path-->',path)

dir_path = os.path.dirname(path)

# print('dir_path-->',dir_path)

savePath = dir_path +

'/{}'.format(self.filetype.JudgeFile(type))

print(

'savePath-->',savePath)

if

not os.path.exists(savePath):

os.mkdir(savePath)

shutil.move(path, savePath)

else:

shutil.move(path, savePath)

except FileNotFoundError:

pass

# print("程序执行结束!")

if __name__ ==

'__main__':

try:

while

True:

desktopOrg = DeskTopOrg()

desktopOrg.Organization()

print(

"---->你的桌面已经整理完成。")

a = input(

'---->请按回车键退出:')

if a ==

'':

break

except BaseException:

print(

"ERROE:路径错误或有重复的文档")

整理完了,桌面清爽了不少。(注意此脚本是按后缀进行分类归档的)

3. 升级版

基于这个,我想是否可以对其他不同的路径进行整理呢,于是又优化了一下。

import os

import glob

import shutil

'''

@Author: huny

@date:  2020.12.06

@function:  文件整理

'''

class FileType():

def __init__(self):

self.filetype = {

"图片": [

".jpeg",

".jpg",

".tiff",

".gif",

".bmp",

".png",

".bpg",

"svg",

".heif",

".psd"],

"视频": [

".avi",

".flv",

".wmv",

".mov",

".mp4",

".webm",

".vob",

".mng",

".qt",

".mpg",

".mpeg",

".3gp",

".mkv"],

"音频": [

".aac",

".aa",

".aac",

".dvf",

".m4a",

".m4b",

".m4p",

".mp3",

".msv",

".ogg",

".oga",

".raw",

".vox",

".wav",

".wma"],

"文档": [

".oxps",

".epub",

".pages",

".docx",

".doc",

".fdf",

".ods",

".odt",

".pwi",

".xsn",

".xps",

".dotx",

".docm",

".dox",

".rvg",

".rtf",

".rtfd",

".wpd",

".xls",

".xlsx",

".ppt",

".pptx",

".csv",

".pdf",

".md",

".xmind"],

"压缩文件": [

".a",

".ar",

".cpio",

".iso",

".tar",

".gz",

".rz",

".7z",

".dmg",

".rar",

".xar",

".zip"],

"文本": [

".txt",

".in",

".out",

".json",

"xml",

".log"],

"程序脚本": [

".py",

".html5",

".html",

".htm",

".xhtml",

".c",

".cpp",

".java",

".css",

".sql"],

"可执行程序": [

".exe",

".bat",

".lnk"],

"字体文件": [

".ttf",

".OTF",

".WOFF",

".EOT"]

}

def JudgeFile(self, pathname):

for name, type

in self.filetype.items():

if pathname

in type:

return name

return

"无法判断类型文件"

class DeskTopOrg(object):

def __init__(self):

self.filetype = FileType()

def Organization(self):

filepath = input(

"请输入需要整理的文件夹路径: ")

paths = glob.glob(filepath +

"/*.*")

print(

'paths-->',paths)

for path

in paths:

try:

if

not os.path.isdir(path):

file = os.path.splitext(path)

filename,type = file

print(

'type-->',type)

print(

"filename-->",filename)

print(

'path-->',path)

dir_path = os.path.dirname(path)

print(

'dir_path-->',dir_path)

savePath = dir_path +

'/{}'.format(self.filetype.JudgeFile(type))

print(

'savePath-->',savePath)

if

not os.path.exists(savePath):

os.mkdir(savePath)

shutil.move(path, savePath)

else:

shutil.move(path, savePath)

except FileNotFoundError:

pass

print(

"程序执行结束!")

if __name__ ==

'__main__':

try:

while

True:

desktopOrg = DeskTopOrg()

desktopOrg.Organization()

print(

"---->你的文件已经整理完成。")

a = input(

'---->请按回车键退出:')

if a ==

'':

break

except BaseException:

print(

"ERROE:路径错误或有重复的文档")

此时,你就可以整理任意路径下的文件了。

4. 打包成exe可执行文件

其他朋友也有需求,但是又没有python环境,于是我将程序打包成exe执行文件。

① 安装pyinstaller

pip install pyinstaller

② 执行打包命令

#在程序脚本的路径执行以下命令

pyinstaller -F ***.py

执行完后生成几个文件,在dist文件下有一个exe可执行文件,将他单独发给朋友即可。

别忘了先自己测试一遍。

推荐阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值