• 목록
  • 아래로
  • 위로

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

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [1차 해결 및 추가] 서버 접속 불가 문제 안내 12 마스터 마스터 24.06.20.15:22 364
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 2403
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 6087
76 [정리] 그누보드 관련된 몇 가지 소식들 이니스프리 이니스프리 18.12.29.15:32 1829
75 나라배움터 에러 발생 대처방법 이니스프리 이니스프리 20.05.01.20:59 1835
74 그누보드에서 우측 aside(로그인) 없애고 회원가입을 봉쇄하는 방법 1 이니스프리 이니스프리 18.10.06.17:34 1837
73 [Python] 디렉토리 내의 파일명을 시간순으로 정렬하기 이니스프리 이니스프리 20.07.13.15:57 1861
72 Youtube-DLG에서 10014 소켓 에러가 뜨는 경우 해결 방법 (방화벽 관련) 2 image 이니스프리 이니스프리 18.10.16.06:44 1887
71 .tk(freenom) 로 접속이 안되는 분들이 요즘 왕왕보이네요. 15 image 마스터 마스터 16.10.05.13:40 1948
70 윈도우 탐색기의 새로 고침 기능 자동화하기 2 이니스프리 이니스프리 18.11.13.13:59 1986
69 단위 명사의 띄어쓰기 (한컴워드의 맞춤법 검사를 믿지 마세요) 8 이니스프리 이니스프리 20.03.23.20:02 2024
68 [Python] 현재시각에 따라 오전/오후 반환 이니스프리 이니스프리 20.07.16.13:58 2047
67 ABBYY FineReader의 OCR 언어 세팅 - 한국어(한글) vs 한국어 등 관련 이니스프리 이니스프리 18.11.05.16:07 2051
66 [Python] BeautifulSoup에서 class명에 공백이 있을 때 검색 방법 이니스프리 이니스프리 21.02.13.00:26 2082
65 xss 공격 방어 라이브러리 jin**** jin**** 17.07.18.20:30 2098
64 [Python] HWP 파일 읽기 6 이니스프리 이니스프리 20.10.18.12:19 2099
63 [Python] Selenium에서 팝업을 허용하는 방법 이니스프리 이니스프리 18.11.01.21:37 2137
62 메일수신이 안된다고...? mail.yandex.com mx 리코드를 이용해보자 2 image djdisodo 18.02.21.17:04 2143
61 [파이썬] 텔레그램 봇으로 이미지 보내기 이니스프리 이니스프리 19.12.06.14:12 2145
60 [파이썬] 리스트에서 중복되는 요소가 있는지 여부 판단 / 중복되는 요소만 뽑아서 리스트에 넣기 이니스프리 이니스프리 19.12.08.15:17 2162
59 변압기 소음을 줄이는 방법 6 이니스프리 이니스프리 19.01.27.12:27 2163
58 각 카드사별 해외이용 정지방법(2018.04.06) 4 image 자뻑보이 자뻑보이 18.05.28.19:04 2177
57 [우분투/파이썬] pip로 pytesseract를 설치 후 not installed or not in your path 메세지에 대한 대처방법 이니스프리 이니스프리 18.11.12.20:05 2189