저는 데스크탑 정리를 좋아하는 사람이 아니라는 점을 인정합니다. 왜냐하면 지저분한 데스크탑이 파일을 더 쉽게 찾을 수 있다고 생각하기 때문입니다.
하하 그런데 요즘 바탕화면이 너무 지저분해서 더 이상 볼 수도 없고 화면을 거의 다 차지할 정도예요. 클릭 한 번으로 바탕 화면을 정리할 수 있는 소프트웨어는 많지만, 다른 경로의 파일도 정리해야 하기 때문에 이 요구 사항을 충족하기 위해 Python을 사용하려고 생각했습니다.
파일을 사진, 비디오, 오디오, 문서, 압축 파일, 일반 형식, 프로그램 스크립트, 실행 프로그램 및 글꼴 파일의 9가지 주요 범주로 나누었습니다.
# 不同文件组成的嵌套字典 file_dict = { '图片': ['jpg','png','gif','webp'], '视频': ['rmvb','mp4','avi','mkv','flv'], "音频": ['cd','wave','aiff','mpeg','mp3','mpeg-4'], '文档': ['xls','xlsx','csv','doc','docx','ppt','pptx','pdf','txt'], '压缩文件': ['7z','ace','bz','jar','rar','tar','zip','gz'], '常用格式': ['json','xml','md','ximd'], '程序脚本': ['py','java','html','sql','r','css','cpp','c','sas','js','go'], '可执行程序': ['exe','bat','lnk','sys','com'], '字体文件': ['eot','otf','fon','font','ttf','ttc','woff','woff2'] }
file_dict는 우리가 공부하고 일할 때 흔히 사용하는 형식을 담은 스스로 정의한 사전입니다. 일반적으로 사용되는 형식을 모든 사람에게 설명해야 합니다. 자주 사용하지만 어떤 범주에 넣어야 할지 모르는 파일은 여기에 저장됩니다.
참고: 컴퓨터에 더 많은 파일 형식이 있는 경우 위의 file_dict 사전만 수정하면 됩니다.
이러한 작은 도구를 개발하려면 총 3개의 Python 라이브러리, 즉 os 모듈, Shutil 모듈 및 glob 모듈이 함께 사용되어 파일과 폴더를 처리합니다.
전체 개발 단계의 일반적인 아이디어는 다음과 같습니다.
# 导入相关库 import os import glob import shutil # 采用input()函数,动态输入要处理的文件路径。 path = input("请输入要清理的文件路径:") # 定义一个文件字典,不同的文件类型,属于不同的文件夹,一共9个大类。 file_dict = { '图片': ['jpg','png','gif','webp'], '视频': ['rmvb','mp4','avi','mkv','flv'], "音频": ['cd','wave','aiff','mpeg','mp3','mpeg-4'], '文档': ['xls','xlsx','csv','doc','docx','ppt','pptx','pdf','txt'], '压缩文件': ['7z','ace','bz','jar','rar','tar','zip','gz'], '常用格式': ['json','xml','md','ximd'], '程序脚本': ['py','java','html','sql','r','css','cpp','c','sas','js','go'], '可执行程序': ['exe','bat','lnk','sys','com'], '字体文件': ['eot','otf','fon','font','ttf','ttc','woff','woff2'] } # 定义一个函数,传入每个文件对应的后缀。判断文件是否存在于字典file_dict中; # 如果存在,返回对应的文件夹名;如果不存在,将该文件夹命名为"未知分类"; def func(suffix): for name, type_list in file_dict.items(): if suffix.lower() in type_list: return name return "未知分类" # 递归获取 "待处理文件路径" 下的所有文件和文件夹。 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 = func(suffix) #print(func(suffix)) # 根据每个文件分类,创建各自对应的文件夹。 if not os.path.exists(f"{path}\{name}"): os.mkdir(f"{path}\{name}") # 将文件复制到各自对应的文件夹中。 shutil.copy(file,f"{path}\{name}")
결과는 다음과 같습니다.
앞으로 예상하기Huang은 이 글의 코드를 모든 사람과 공유했습니다. 하지만 저는 이 코드에 대한 시각적 인터페이스를 만들지 않았습니다. 동시에 모든 사람이 프로그램을 패키징하여 다른 사람이 직접 사용할 수 있도록 직접 보낼 수 있기를 바랍니다.
위 내용은 복잡한 폴더도 몇 분 만에 정리할 수 있도록 Python으로 작은 도구를 작성했습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!