遍历文件并输出最新的修改时间

#_*_ coding:utf-8 _*_
import os
import sys
import traceback
import time

'''
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
'''

def e_fun(fun):
    try:
        fun
    except:
        print('ERROR')


class file:
    def __init__(self):
        self.dic =dict()
        self.time = ''
        self.new = ''
        self.cur = ''
        self.dir_error =list()


    def get_file_info(self,path):
        try:

            list_s = os.listdir(path)
            list_f = [os.path.join(path,i) for i in list_s]

            for i in list_f:
                basename = os.path.basename(i)
                if os.path.isdir(i):
                    self.get_file_info(i)
                else:
                    if '.dll'in basename:
                        time = os.path.getctime(i)
                        self.dic[time] = i

                        if self.time != '':
                            if self.time <= time:
                                self.time = time
                        else:
                            self.time = time
        except:
            #traceback.print_exc(5,sys.stdout)
            self.dir_error.append(path)


f = file()
a = 'C:\Windows\System32'
f.get_file_info('C:\\')
print(f.time,'time')
print(time.asctime(time.localtime(f.time)))
print(f.dic[f.time],'new')
print('---------------------------------------------------------->>>>>>>>>>>>>')
# for k,v in f.dic.items():
#     print(k,v)
print(len(f.dir_error))
1551184698.165892: 'C:\\Windows\\assembly\\NativeImages_v4.0.30319_64\\System.Numerics\\8de4c2bd4dc50edcdad5d31ba0c63dde\\System.Numerics.ni.dll.aux'

猜你喜欢

转载自blog.csdn.net/wang880117/article/details/87955273