栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[Python] 批量获取文件夹中创建日期并将其以时间戳形式加入文件名

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Python] 批量获取文件夹中创建日期并将其以时间戳形式加入文件名

当处理大量数据样本时,有时会遇到批量给文件打时间戳的需求,手动操作起来难以想象,这里给大家分享一个利用python批量为文件夹中文件打时间戳的方法:

  • Key issue / 核心问题

获取文件创建(修改)日期并将此部分信息整合入文件名

  • Flowchart / 流程图

  • Code / 代码
import os
import datetime

path=os.path.abspath('.')
path_files = path+'/files'
path_target = path+'/converted'

for files in os.listdir(path_files):
    file_mtime = os.path.getmtime(os.path.join(path_files,files)) #get timeinfo in float form
    file_mtime = datetime.datetime.fromtimestamp(file_mtime) #convert float time into date objective
    file_mtime = datetime.datetime.strftime(file_mtime, '%Y%m%d') #convert date obj. to str in format yyyymmdd

    fname=os.path.splitext(files)[0] #remove extensions in filename
    fname=fname+'-T'+file_mtime #add timestamp information
    fname= fname+os.path.splitext(files)[1] #add extension info.and

    file_src=os.path.join(path_files,files)
    file_tar=os.path.join(path_target,fname)
    os.rename(file_src,file_tar) #rename files with timestamp info.
  • useful gadget / 一些有用的“升级”组件
    补充两个有用的"小组件“:
    1)有时候文件夹中可能不止有文件,还会有子文件夹,可以增加一个filecheck,仅让listdir返回文件
    def onlyfile(path):
    	for file in os.listdir(path):
    		if os.path.isfile(os.path.join(path,file)):
    			yield file
    
    添加在程序中进行如下替换:
    #原程序
    for files in os.listdir(path_files):	
    #替换为
    for files in onlyfile(path_files):	
    
    2)有时候可能需要对读取到的时间戳进行操作,需要加减一(几)天日期,可通过以下方式实现:
    def addoneday(date):
    	ori_date = datetime.datetime.strptime(date,'%Y%m%d')
    	altered_date += datetime.timedelta(days=1)
    	tar_date = datetime.datetime.strftime(altered_date,'%Y%m%d')
    	return tar_date
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号