fumingxia 发表于 2017-5-4 11:12:10

Python批量更新文件修改时间

  本地模拟测试准备脚本

import os,sys,time,re
##########################################################
##Reset The ModifyDate of AAA File With FileName.                ##
##For Example: filename is AAA_01_20100703_2130_0683.TXT##
##Auther:qiuwg Date:2010-08-24                                                    ##
##########################################################
def list_file_dir(level,rootpath):
    for path in os.listdir(rootpath):
        absolutely_path = os.path.join(rootpath,path)
        if os.path.isdir(absolutely_path):
            list_file_dir(level+1, absolutely_path) 
        else:
            modify_file_date(absolutely_path)

def modify_file_date(file):
    idx=file.rfind("/")
    path="./"
    filename=file
    if idx > -1:
        path=file[:idx+1]
        filename=file+1:]
    #mt=os.path.getmtime(filename)
    expression=r"^AAA_\d{2}_\d{8}_\d{4}_\d{4}.TXT$"
    if re.match(expression,filename):
        temp=filename.split("_");
        print path+filename+" modifydate >> "+temp[2]+temp[3]
        temptime=time.strptime(temp[2]+temp[3],'%Y%m%d%H%M')
        mtime=time.mktime(temptime)
        os.utime(path+filename,(mtime,mtime))

if __name__ == "__main__":
    list_file_dir(1,"/ldata/fuse-udr-split/")
    print "Handed Over"
  
增加了文件名正则匹配,和递归目录查找。
页: [1]
查看完整版本: Python批量更新文件修改时间