python自动整理格式,python自动处理文档
本文主要介绍了python对自动文件排序的实现。主要内容是通过整理堆满文件资料的凌乱桌面,了解如何将不同后缀的文件批量移动到同一个文件夹中。有需要的朋友可以参考一下。
前言:
通常情况下,我不会养成分类的习惯。整个桌面堆满了文件和资料,几乎占满了整个屏幕。所以必须要解决。今天我们就来看看如何用python把不同后缀的文件批量移动到同一个文件夹。
演示效果:
使用前
使用后
代码:
# # -*-编码:utf-8 -*-
导入操作系统
导入全球
导入技能
导入tkinter
导入tkinter.filedialog
从日期时间导入日期时间
定义开始():
root=tkinter。Tk()
root . retract()
dir name=tkinter . file dialog . ask directory(parent=root,initialdir=/,title=请选择一个文件夹)
返回目录名
#定义文件字典,不同的文件类型,属于不同的文件夹
文件_字典={
Image 3360 [JPEG , JPG , TIFF , GIF , BMP , PNG , BPG , SVG , HEIF , PSD],
视频 3360 [AVI , FLV , WMV , MOV , MP4 , WebM , VOB , MNG , Qt , MPG , MPEG , 3GP , MKV]。
音频 3360 [AAC , AA , AAC , DVF , M4A , M4B , M4P , MP3 , MSV , OGG , OGA , RAW , VOX ,
文档 3360 [oxps , epub , pages , docx , doc , fdf , ODS , ODT , pwi , xsn , xps , dotx , docm ,
rvg , rtf , rtfd , wpd , xls , xlsx , xlsm , ppt , pptx , csv , pdf , md , xmind],
压缩文件 3360 [a , ar , cpio , iso , tar , gz , rz , 7z , dmg , rar , xar , zip],
Text 3360 [txt , in , out , JSON , XML , log],
程序脚本 3360 [py , HTML5 , HTML , HTM , XHTML , CPP , Java , CSS , SQL],
可执行程序 3360 [exe , bat , lnk , sys , com , apk],
字体文件 3360 [EOT , OTF , Fon , Font , TTF , TTC , WOFF , WOF2 , SHX],
工程图纸文件 3360 [贝克, DWG , DXF , DWL , DWL2 , STP , SLDPRT , IPJ , IPT , IDW]
}
#定义一个函数,并传入对应于每个文件的后缀。判断该文件是否存在于字典file_dict中;
#如果存在,返回对应的文件夹名;如果不存在,将文件夹命名为“未知分类”;
定义判断文件(后缀):
对于名称,请在file_dict.items():中键入_list
type_list:中的if后缀. lower()
返回名称
返回“未知分类”
if __name__==__main__:
尝试:
而True:
path=start()
打印(-路径是: ,路径)
if path==:
打印(未选择路径!)
破裂
#递归获取“要处理的文件路径”下的所有文件和文件夹。
开始时间
= datetime.now().second
for file in glob.glob(f"{path}/**/*", recursive=True):
# 由于我们是对文件分类,这里需要挑选出文件来。
if os.path.isfile(file):
# 由于isfile()函数,获取的是每个文件的全路径。这里再调用basename()函数,直接获取文件名;
file_name = os.path.basename(file)
suffix = file_name.split(".")[-1]
# 判断 "文件名" 是否在字典中。
name = JudgeFile(suffix)
# 根据每个文件分类,创建各自对应的文件夹。
if not os.path.exists(f"{path}\\{name}"):
os.mkdir(f"{path}\\{name}")
print(path-->,name)
# 将文件复制到各自对应的文件夹中。
# shutil.copy(file, f"{path}\\{name}")
# 将文件移动到各自对应的文件夹中。
shutil.move(file, f"{path}\\{name}")
endTime = datetime.now().second
countTime= endTime-startTime
print("---->已经整理完成。共花费 {} s".format(countTime))
a = input(---->请按回车键退出:)
if a == :
break
except BaseException:
print(存在重复的文件!)
执行起来很简单,只要写完程序,点击程运行,等待弹出窗口,选择需要整理的文件夹即可。
如果觉得以上代码觉得复杂,可以尝试以下更为简单的程序。
如何实现文件自动分类?
同一目录下存在很多不同类型的资源条件
- 1 .分类
- 2.创建分类目录
- 3.移动文件资源
import osimport shutil
import tkinter
import tkinter.filedialog
from datetime import datetime
def start():
root = tkinter.Tk()
root.withdraw()
dirname = tkinter.filedialog.askdirectory(parent=root,initialdir="/",title=请选择文件夹)
return dirname
# 源文件存在路径
src_dir=start()
# 分类资源存在路径
dest_dir=src_dir
# 判断目录是否存在
if not os.path.exists(dest_dir):
os.mkdir(dest_dir)
# 源目录分析
files=os.listdir(src_dir)
for item in files:
src_path=os.path.join(src_dir,item)
# 判断状态
if os.path.isfile(src_path):
#如果是文件,进入代码块
# 判断文件资源的类型
ndir = item.split(.)[-1]
desc_path=os.path.join(dest_dir,ndir)
# 创建分类目录
if not os.path.exists(desc_path):
# 如果分类子目录不存在,创建
os.mkdir(desc_path)
shutil.move(src_path,desc_path)
到此这篇关于python实现自动整理文件的文章就介绍到这了,更多相关python整理文件内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。