• 목록
  • 아래로
  • 위로

과도하게 길어진 로그파일을 최근에 추가된 100줄로 줄이는 스크립트입니다.


로그가 추가될 때마다 가장 마지막줄에 추가된다는 점에 착안하여 작성했기 때문에, 그러한 원리로 작동하지 않는 파일의 경우에 적용하면 최신 로그가 사라지게 됩니다.


import os

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
with open(os.path.join(BASE_DIR, '로그파일'), 'r') as f_read:
    file_list = f_read.readlines()
    total = len(file_list)
    with open(os.path.join(BASE_DIR, '로그파일'), 'w') as f_write:
        for idx, line in enumerate(file_list, 1):
            if idx > total - 100:
                f_write.write(line)


with open r 문 안에 with open w 문을 사용하면 보다 효율적이라는 웹문서가 있어서 그렇게 구현해봤네요 ^^

(알고리즘적으로 정확한 이유는 저도 잘 모르겠습니다.)



참고로 로그파일의 길이(총 라인 수)는 다음과 같은 방법을 통해 얻을 수 있습니다.


num_lines = sum(1 for line in open('로그파일'))


작성자
이니스프리 119 Lv. (0%) 1893270/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 649
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4326
362 [Python] print() 문의 문자열 출력 형식 2 이니스프리 이니스프리 20.02.15.22:16 140
361 [Python] COS Pro 1급 6-3 풀이 이니스프리 이니스프리 20.02.15.20:14 918
360 [Python] COS Pro 1급 6-2 풀이 이니스프리 이니스프리 20.02.15.20:05 762
359 [Python] 유클리드 호제법 2 image 이니스프리 이니스프리 20.02.15.17:21 148
358 [Python] COS Pro 1급 5-6 풀이 이니스프리 이니스프리 20.02.15.16:55 405
357 [Python] COS Pro 1급 5-4 풀이 이니스프리 이니스프리 20.02.15.16:24 266
356 [Python] COS Pro 1급 5-1 풀이 이니스프리 이니스프리 20.02.15.16:01 611
355 [Python] COS Pro 1급 4-10 풀이 이니스프리 이니스프리 20.02.15.12:17 179
354 [Python] 소수점 자리수의 출력 - round() vs format() 1 이니스프리 이니스프리 20.02.15.11:53 31760
353 [Python] COS Pro 1급 예제 2-6 풀이 이니스프리 이니스프리 20.02.14.15:03 169
352 [Python] 다중 list comprehension 이니스프리 이니스프리 20.02.14.13:08 182
351 [Python] 10진수를 n진수로 변환하기 이니스프리 이니스프리 20.02.14.01:23 611
350 [Python] 스도쿠의 정오를 확인하는 함수 이니스프리 이니스프리 20.02.13.15:28 124
349 [Python] 최소공배수 구하기 이니스프리 이니스프리 20.02.12.00:11 327
348 [Python] 문자열에서 숫자만 뽑아서 정수로 반환하는 함수 이니스프리 이니스프리 20.02.12.00:01 141
347 [Python] 2020년 5급 신임관리자 교육과정에 파이썬 도입! image 이니스프리 이니스프리 20.02.11.23:48 129
346 [Python] 회문(Palindrome) 여부를 확인하는 함수 이니스프리 이니스프리 20.02.11.23:32 240
345 [Python] 수를 뒤집는 두 가지 방법 3 이니스프리 이니스프리 20.02.11.22:24 153
344 [Python] 에라토스테네스의 체 이니스프리 이니스프리 20.02.10.23:33 252
343 [Python] 이차원 리스트에서의 다중조건 정렬 이니스프리 이니스프리 20.02.08.23:00 1299