[~/Japan_Project/ENM_Migration/Migration_Activity/temp]$ ls
Clssified_CV.py*
134727_L2G-KASUGAISHI011W_ENM_134727_180919_AFTER.zip
134727_L2G-KASUGAISHI011W_ENM_134727_180919_BEFORE.zip
134728_L2G-chenghuang_ENM_134727_180919_AFTER.zip
134728_L2G-chenghuang_ENM_134727_180919_BEFORE.zip
[~/Japan_Project/ENM_Migration/Migration_Activity/temp]$ python Classified_CV.py >> ./Clssified_CV.Log
--- new folder...---
---start move 134727_L2G-KASUGAISHI011W_ENM_134727_180919_AFTER.zip to 134727_L2G-KASUGAISHI011W---
---file move done---
---start move 134727_L2G-KASUGAISHI011W_ENM_134727_180919_BEFORE.zip to 134727_L2G-KASUGAISHI011W---
---file move done---
--- new folder...---
---start move 134728_L2G-chenghuang_ENM_134727_180919_AFTER.zip to 134728_L2G-chenghuang---
---file move done---
---start move 134728_L2G-chenghuang_ENM_134727_180919_BEFORE.zip to 134728_L2G-chenghuang---
---file move done---
[~/Japan_Project/ENM_Migration/Migration_Activity/temp]$ ls
134727_L2G-KASUGAISHI011W/ 134728_L2G-chenghuang/ Clssified_CV.py* Clssified_CV.Log
[~/Japan_Project/ENM_Migration/Migration_Activity/temp]$ cd 134727_L2G-KASUGAISHI011W/
[~/Japan_Project/ENM_Migration/Migration_Activity/temp/134727_L2G-KASUGAISHI011W]$ ls
134727_L2G-KASUGAISHI011W_ENM_134727_180919_AFTER.zip
134727_L2G-KASUGAISHI011W_ENM_134727_180919_BEFORE.zip
[~/Japan_Project/ENM_Migration/Migration_Activity/temp]$ cd 134728_L2G-chenghuang/
[~/Japan_Project/ENM_Migration/Migration_Activity/temp/134728_L2G-chenghuang]$ ls
134728_L2G-chenghuang_ENM_134727_180919_AFTER.zip
134728_L2G-chenghuang_ENM_134727_180919_BEFORE.zip
脚本为Classified_CV.py
#!/usr/bin/python
import os, shutil, re
def mkdir(path):
folder = os.path.exists(path)
if not folder:
os.makedirs(path)
print("--- new folder...---")
else:
pass
rootdir = "./"
folder_list = []
for parent,dirnames,filenames in os.walk(rootdir): #遍历当前目录的文件
for filename in filenames:
if not (re.match('\w*.py',filename) or re.match('\w*.Log',filename)): #这里过滤掉工作目录下的python脚本和生成的log文件
folder_name = filename.split('_ENM_',1)[0] #对文件名进行一次拆分,拆分标志为_ENM_,这里取拆分后的列表的第一个元素
mkdir(folder_name)
if (folder_name in filename) and not os.path.exists("./" + folder_name + "/" + filename):
print("---start move " + filename + " to " + folder_name + "---")
shutil.move(filename,"./" + folder_name) #移动文件到相关联的文件夹
print("---file move done---")