python创建时间表名_python根据文件创建时间或修改时间重命名文件(递归命名一个文件夹下的所有文件)...

#-*- coding: UTF-8 -*-#Windows python 3.9.0 64bit

# Linux 好像不支持按照文件创建时间重命名

importosimporttime#####################################################################################################################################################

defgenerateNewName(timeStamp, format):

locTime=time.localtime(timeStamp)returntime.strftime(format, locTime)defrenameFileByModifyTime(dir, format):

longNewName= ''shortNewName= ''

for root, dirs, files inos.walk(dir):for name infiles:

baseName, ext=os.path.splitext(name)

longName=os.path.join(root, name)

modifyTimeStamp=os.path.getmtime(longName)

shortNewName=generateNewName(modifyTimeStamp, format)

longNewName= os.path.join(root, shortNewName +ext)

count= 1

whileos.path.exists(longNewName):

longNewName= os.path.join(root, shortNewName + '_' + str(count) +ext)

count+= 1os.rename(longName, longNewName)print('{} --> {}'.format(os.path.basename(longName), os.path.basename(longNewName)))defrenameFileByCreateTime(dir, format):

longNewName= ''shortNewName= ''

for root, dirs, files inos.walk(dir):for name infiles:

baseName, ext=os.path.splitext(name)

longName=os.path.join(root, name)

modifyTimeStamp=os.path.getctime(longName)

shortNewName=generateNewName(modifyTimeStamp, format)

longNewName= os.path.join(root, shortNewName +ext)

count= 1

whileos.path.exists(longNewName):

longNewName= os.path.join(root, shortNewName + '_' + str(count) +ext)

count+= 1os.rename(longName, longNewName)print('{} --> {}'.format(os.path.basename(longName), os.path.basename(longNewName)))#####################################################################################################################################################

if '__main__' == __name__:

dir= input('Please input directory path:')

format= input(r'Please input new file name format: (input 1 to use default format: IMG_%Y%m%d_%H%M%S, e.g. IMG_20102029_202550):')

model= input('Rename file by modify time or create time (1: modiry time, 2: create time):')print()if '1' ==format:

format= r'IMG_%Y%m%d_%H%M%S'

if '1' ==model:

renameFileByModifyTime(dir, format)elif '2' ==model:

renameFileByCreateTime(dir, format)else:print('input error')print()print('Done!')

input('Press any key to exit!')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值