python下载文件加上日期_python按照文件创建日期整理文件至文件夹

# -*- coding: utf-8 -*-

# @Time : 2019-02-15 13:31

# @Author : cxa

# @File : sortbydate.py

# @Software: PyCharm

import glob

import pathlib

import os

import datetime

import traceback

from concurrent import futures

import time

from functools import partial

'''

根据文件创建文件建立文件夹

'''

def to_str_path(path):

if path:

new_path = os.fspath(path)

return new_path

def movefile(image_path, dir_path):

try:

file_time = os.path.getctime(image_path)

stamp_to_datetime = datetime.datetime.fromtimestamp(file_time)

file_date = datetime.datetime.strftime(stamp_to_datetime, "%Y%m%d")

date_dir = (dir_path.joinpath(file_date))

jpg_dir_path, jpg_name = os.path.split(image_path)

if not os.path.exists(date_dir):

os.makedirs(to_str_path(date_dir))

print(f"创建文件夹:{file_date},当前路径是{date_dir}")

new_file_path = to_str_path(os.path.join(date_dir, jpg_name))

print(f"开始移动文件{jpg_name},完整路径 {new_file_path}")

os.rename(image_path, new_file_path) # 移动文件或重命名,这里是移动文件

print(f"指定文件已经移动到当前目录的{date_dir}目录")

except:

print(traceback.format_exc())

def start(filename: str = None, filetype: str = "jpg"):

'''

:param filename: 指定文件夹名,默认当前py文件所在的文件夹

:param date_str: 删除日期格式yyyymmdd

:param filetype: 需要删除的文件类型默认jpg.

:return: None

'''

filename = filename or __file__

dir_path = pathlib.Path(filename).resolve().parent

image_path_list = glob.glob(to_str_path(dir_path.joinpath(f"*.{filetype}")))

movef = partial(movefile, dir_path=dir_path)

with futures.ThreadPoolExecutor(max_workers=10) as pool:

pool.map(movef, image_path_list)

if __name__ == '__main__':

start_t = time.time()

start()

end = time.time()

print(end - start_t)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值