需求
最近公司有需求,需要按照文件名的日期创建文件夹,同时按照日期将文件放入指定的文件夹中,试着用python写了一下,正好学习一下python的文件操作。
文件类型
- 拓展名为gpg的加密文件,主要是这类文件,例:businessunit-160907.gpg
- 拓展名为csv的日志文件,例:zzzLog_160919.csv
思路
按照日志文件的日期创建名字为日期的文件夹,再遍历根目录下的所有文件,将拓展名为gpg同时与目录名一致的文件放在该文件夹下。就是把不同的鸡蛋放入不同的筐子,区别的就是鸡蛋的日期和筐子的日期一致。主要用到了os、shutil库,代码还有优化的空间,暂时记录一下。
import os
import shutil
floderaddress = r'C:\Users\Neil\Desktop\Code\test'
file_all = os.listdir(floderaddress) #路径下所有文件名
floderlist = [] #存放文件夹名
for name in file_all:
if name[-3:] == 'csv':
floderlist.append(name[-10:-4])
os.mkdir(floderaddress+'\\'+name[-10:-4])
for i in file_all:
for j in floderlist:
if os.path.isfile(floderaddress+'\\'+i) == True and i[-3:] == 'gpg' and i[-10:-4] == j:
#print(i)
shutil.copyfile(floderaddress+'\\'+i,floderaddress+'\\'+j+'\\'+i)
os.remove(floderaddress+'\\'+i)