要求:扫描一个目录下的所有文件,根据这些文件的创建日期生成一个文件夹,然后把这些文件移入这个文件夹下面
代码实现:
#! /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)