要求:扫描一个目录下的所有文件,根据这些文件的创建日期生成一个文件夹,然后把这些文件移入这个文件夹下面
代码实现:
#! /usr/bin/env python # coding:utf-8 import os import datetime import pathlib import time base_dir = '/Users/Luke/Desktop/code_here/' p = pathlib.Path(base_dir) # 遍历获取改文件夹下面所有的文件 file_list = p.glob('**/*') #用来放时间文件夹的列表 set_time = [] for file in file_list: #把PosixPath('/Users/Luke/Desktop/a.txt') 转换成 '/Users/Luke/Desktop/a.txt' file = str(file) #time_stamp 1495951803.0 time_stamp = os.path.getmtime(file) #date_str '2017-05-28 14:10:03' date_str = str(datetime.datetime.fromtimestamp(time_stamp)) date_finder = date_str.split()[0] # '2017-05-28' time_path = os.path.join(base_dir, date_finder) if date_finder not in set_time: finder_command = 'mkdir %s'%time_path os.system(finder_command) set_time.append(date_finder) cp_command = 'cp %s %s'%(file, time_path) os.system(cp_command)