扫描一个目录下的所有文件,根据这些文件的创建日期生成一个文件夹,然后把这些文件移入这个文件夹下面

 

要求:扫描一个目录下的所有文件,根据这些文件的创建日期生成一个文件夹,然后把这些文件移入这个文件夹下面

代码实现:

#! /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)

 

 
posted @ 2018-01-03 15:28  timtike  阅读(545)  评论(0编辑  收藏  举报