• 목록
  • 아래로
  • 위로

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

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 835
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4508
89 [Docker] Docker 다시 알고 사용하기 Seia Seia 21.04.10.07:04 167
88 [Selenium] Page down 이니스프리 이니스프리 22.06.19.12:40 167
87 [스퀘어넷] Ubuntu Server 18.04 LTS 지원 1 이니스프리 이니스프리 19.02.04.22:20 166
86 [Python] 파이썬으로 평균을 구하는 두 가지 방법 이니스프리 이니스프리 21.03.13.21:58 166
85 [Python] Function to save list into a text file line by line 이니스프리 이니스프리 22.06.11.21:33 166
84 [펌] 하이패스 미납요금 내기 귀찮을 땐, 동네 편의점? image 이니스프리 이니스프리 19.08.28.14:53 165
83 [Python] OrderedDict에 대한 간단한 소개 3 이니스프리 이니스프리 20.06.16.13:09 163
82 JLPT 성적표 및 합격증 수령 주소 변경 이니스프리 이니스프리 20.01.29.21:51 163
81 마지막 방문일자 알려주기 슬기 슬기 18.10.11.00:31 162
80 AMD KOREA 라이젠 3500X 공식 런칭 예정 image 이니스프리 이니스프리 19.10.15.17:50 162
79 [팁] 모바일 앱 빌더 해피보이 20.04.02.08:59 160
78 [PHP] 파일을 읽어서 각 행을 리스트로 만들기 이니스프리 이니스프리 19.07.10.20:29 160
77 [펌] 하나의 키 입력으로 유튜브 광고 차단하기 - Block YouTube Ads With a Single Keystroke 2 이니스프리 이니스프리 20.06.14.10:19 157
76 [Python] dictionary 2개의 평균을 구하여 내림차순 정렬하기 이니스프리 이니스프리 24.04.21.17:29 157
75 [Python] 구버전 KeyCaptcha 정답 좌표 찾기 image 네모 네모 21.07.09.02:46 157
74 TCP BBR을 사용하여 기존 TCP 구현보다도 훨씬 빠른 속도를 즐기는 방법 2 image Seia Seia 20.01.19.07:01 154
73 [Python] 수를 뒤집는 두 가지 방법 3 이니스프리 이니스프리 20.02.11.22:24 153
72 [학술정보] Breaking character and natural image based CAPTCHA using feature classification 1 이니스프리 이니스프리 18.11.13.16:01 153
[파이썬] 길어진 로그 파일을 100줄로 줄이는 스크립트 이니스프리 이니스프리 19.12.25.11:49 152
70 JavaScript에서 Array로 Multipul Evaluation을 사용하면서 어디에 오류가 발생했는지 확인하기 Seia Seia 18.10.21.14:47 152