ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <PYTHON>특정기간 지난 파일 삭제
    Flower in my dev/Python 2015. 5. 22. 09:38

    # 파일 이름이 날짜시간이어야 함.

    # 경로는 IP로 단순히 정의했음.

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    #-*- coding: utf-8 -*-
     
    import os, re
    from datetime import date, timedelta
     
    filePath = '경로/rawlog'
     
    class LogRemover:
        def __init__(self, dPath = filePath, days = 7):
            self.defaultPath = dPath
            self.duDays = days
     
        def getFileList(self):
            ipCheck = re.compile(r'(\d+).(\d+).(\d+).(\d+)')
            fList = os.listdir(self.defaultPath)
            for ipFile in fList:
                if ipCheck.search(ipFile) != None:
                    self.fileRemove(ipFile)
     
        def fileRemove(self, ipFile):
            dateCheck = re.compile(r'(\d{8})')
            tDay = date.today()
            _dDay = tDay - timedelta(self.duDays)
            dDay = str(_dDay).replace('-','')
            fullDir = os.path.join(self.defaultPath, ipFile)
            fList = os.listdir(fullDir)
            fList.sort()
            for fName in fList:
                _fName = dateCheck.search(fName)
                if _fName.group() >= dDay:
                    break
                else:
                    os.remove(os.path.join(fullDir, fName))
     
        def run(self):
            self.getFileList()
     
    if __name__ == '__main__':
        m = LogRemover()
        m.run()
     
    #EOF
    cs

    'Flower in my dev > Python' 카테고리의 다른 글

    <PYTHON>[StringIO]  (0) 2015.05.28
    <PYTHON> twisted log 사용  (0) 2015.05.27
    <PYTHON>일반 정규식 예  (0) 2015.05.18
    <PYTHON>[에러 처리 (try-except, traceback)]  (0) 2015.05.11
    <PYTHON>[subprocess]  (0) 2015.05.07

    댓글

Designed by Tistory.