• 목록
  • 아래로
  • 위로

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

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 757
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4429
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
342 [Requests] 한 번의 POST 전송으로 여러 개의 파일을 업로드하는 방법 이니스프리 이니스프리 20.02.06.21:23 947
341 [Python] 지난 일요일 날짜 구하기 이니스프리 이니스프리 20.02.04.20:33 996
340 [파이썬] 딕셔너리의 키/값으로 정렬하기 이니스프리 이니스프리 20.02.02.23:25 195
339 [IPVanish] 809 에러 해결방법 이니스프리 이니스프리 20.02.02.17:10 225
338 Matrix DAC 발열 문제 이니스프리 이니스프리 20.01.31.12:34 174
337 JLPT 성적표 및 합격증 수령 주소 변경 이니스프리 이니스프리 20.01.29.21:51 163
336 Apple ID 미국 계정 만들기 및 로그인 실패시 해결방법(?) 이니스프리 이니스프리 20.01.26.20:14 258
335 더현대닷컴 vs Hmall의 차이 이니스프리 이니스프리 20.01.26.20:10 1072
334 다이소 스마트폰 유심 커터기 관련 4 이니스프리 이니스프리 20.01.22.17:15 624
333 텔레그램 비밀대화의 스크린캡쳐 방지기능 이니스프리 이니스프리 20.01.20.23:44 5875
332 Postman에서 Temporary Header는 비활성화할 수 없습니다. 3 image Seia Seia 20.01.20.19:31 228
331 순수 React만으로 다이내믹 태그 네이밍하기 Seia Seia 20.01.20.19:18 104
330 Sourcerer: Git을 비주얼라이징 및 프로파일링합니다. image Seia Seia 20.01.20.07:38 131
329 [우체국 택배] 수취인 수령장소 변경 서비스 이니스프리 이니스프리 20.01.19.23:08 260
328 TCP BBR을 사용하여 기존 TCP 구현보다도 훨씬 빠른 속도를 즐기는 방법 2 image Seia Seia 20.01.19.07:01 154
327 Vultr.com - 오늘자 Service Alert 이니스프리 이니스프리 20.01.17.22:02 173