Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Saya menulis alat kecil dalam Python untuk membantu anda menyusun folder yang rumit dalam beberapa minit!

Saya menulis alat kecil dalam Python untuk membantu anda menyusun folder yang rumit dalam beberapa minit!

WBOY
WBOYke hadapan
2023-04-11 20:19:181470semak imbas

Saya menulis alat kecil dalam Python untuk membantu anda menyusun folder yang rumit dalam beberapa minit!

Mengerikan

Saya akui saya bukan seorang yang suka mengatur desktop saya, kerana saya rasa desktop yang tidak kemas memudahkan pencarian fail.

Haha, tetapi desktop menjadi sangat kucar-kacir baru-baru ini sehingga saya tidak dapat melihatnya lagi. Ia hampir memakan keseluruhan skrin. Walaupun terdapat banyak perisian untuk mengatur desktop dengan satu klik, saya juga perlu menyusun fail dalam laluan lain, jadi saya terfikir untuk menggunakan Python untuk melengkapkan keperluan ini.

Saya menulis alat kecil dalam Python untuk membantu anda menyusun folder yang rumit dalam beberapa minit!

Paparan kesan

Saya membahagikan fail kepada 9 kategori utama, iaitu gambar, video, audio, dokumen, fail termampat dan format biasa , skrip program , program boleh laku dan fail fon.

# 不同文件组成的嵌套字典
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 ialah kamus yang ditakrifkan oleh anda sendiri, yang mengandungi format yang biasa digunakan dalam kajian dan kerja kami. Format yang biasa digunakan perlu diterangkan kepada semua orang Untuk fail yang sering digunakan tetapi tidak tahu kategori mana untuk meletakkannya, ia disimpan di sini.

Nota: Jika komputer anda mempunyai lebih banyak format fail, anda hanya perlu mengubah suai kamus file_dict di atas.

Idea Pembangunan

Membangunkan alat sekecil itu melibatkan sejumlah tiga perpustakaan Python, iaitu modul os, modul shutil dan modul glob, ia digunakan bersama untuk memproses fail dan folder. sungguh hebat!

Idea umum keseluruhan langkah pembangunan adalah seperti berikut:

  • ① Berikan mana-mana laluan fail
  • ② Dapatkan semua fail di bawah fail semasa laluan, dan Dapatkan akhiran yang sepadan dengan setiap fail; folder itu wujud. Kerana folder baharu perlu dibuat untuk menyimpan fail dalam kategori; Catatan]
  • Keputusannya adalah seperti berikut:
Melihat ke hadapan

Huang telah berkongsi kod artikel ini dengan semua orang . Tetapi saya tidak membuat antara muka visual untuk kod ini. Pada masa yang sama, saya juga berharap semua orang dapat membungkus program dan menghantarnya terus kepada orang lain supaya mereka dapat menggunakannya secara langsung.
# 导入相关库
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}")

Atas ialah kandungan terperinci Saya menulis alat kecil dalam Python untuk membantu anda menyusun folder yang rumit dalam beberapa minit!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam