• 목록
  • 아래로
  • 위로

과도하게 길어진 로그파일을 최근에 추가된 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. (1%) 3321800/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 시스템 점검 작업 완료 안내 10 마스터 마스터 5일 전16:25 209
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 7272
517 미사용 K-Cash 반환 1 이니스프리 이니스프리 20.02.27.14:08 144
516 하나 더 적금 우대금리 image 이니스프리 이니스프리 20.02.27.14:32 144
515 [KAL] 보너스 항공권 공제 마일리지 표 (평수기) 1 image 이니스프리 이니스프리 19.10.16.14:55 145
514 [펌] 신발 깔창 리뷰 이니스프리 이니스프리 20.01.01.17:26 145
513 [Python] 스도쿠의 정오를 확인하는 함수 이니스프리 이니스프리 20.02.13.15:28 145
512 [파이썬] OS에 따라서 경로를 달리하기 이니스프리 이니스프리 20.01.07.22:15 148
511 [Ramnode] SSD 용량 추가! 2 image 이니스프리 이니스프리 20.02.17.22:20 148
510 '20 TEPS 일정 image 이니스프리 이니스프리 19.11.23.15:26 149
509 헷갈리는 출생지를 가진 인물들 1 이니스프리 이니스프리 20.06.26.21:09 149
508 [Python] MP4 -> JPG thumbnail 生成 1 이니스프리 이니스프리 22.06.04.16:38 150
507 [Requests] params, data 전달시에 딕셔너리의 구조가 복잡한 경우 해결방법 이니스프리 이니스프리 19.11.17.14:55 151
506 [Python] 폴더 내 이미지의 height를 측정하여 height < n 미만인 파일을 삭제하기 이니스프리 이니스프리 20.08.13.20:08 151
505 [Python] MP4 50% 進行된 frame을 JPG thumbnail로 生成 이니스프리 이니스프리 22.06.06.15:15 151
504 [Python] print() 문의 문자열 출력 형식 2 이니스프리 이니스프리 20.02.15.22:16 152
503 [Python] 문자열에서 숫자만 뽑아서 정수로 반환하는 함수 이니스프리 이니스프리 20.02.12.00:01 154
502 [Python] 딕셔너리 자료형에서 .get() 메서드 사용시 에러 회피하기 이니스프리 이니스프리 20.02.15.22:48 154
[파이썬] 길어진 로그 파일을 100줄로 줄이는 스크립트 이니스프리 이니스프리 19.12.25.11:49 155
500 SSFSHOP에서 모든 사이즈가 조회되는 것은 아니군요 1 이니스프리 이니스프리 20.03.08.17:45 157
499 [Python] PDF 파일을 특정 페이지를 기준으로 두 개로 나누기 이니스프리 이니스프리 24.08.11.20:27 157
498 링크 파싱 모듈을 제작하다가 깨달은 점 ㅠㅠ 이니스프리 이니스프리 19.08.27.22:06 158