• 목록
  • 아래로
  • 위로

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

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 1063
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4750
554 [Python] 소수점 자리수의 출력 - round() vs format() 1 이니스프리 이니스프리 20.02.15.11:53 31786
553 [Python] 파일을 읽어서 각 행을 리스트로 만드는 5가지 방법 이니스프리 이니스프리 18.11.25.22:16 23338
552 안티앨리어싱 옵션: 알고 쓰자. 5 image 하루살이 title: 황금 서버 (30일)하루살이 17.02.25.23:57 19438
551 GIF 파일의 용량을 줄여주는 사이트 - gifgifs.com image 이니스프리 이니스프리 17.10.09.12:57 17668
550 [Python] tqdm과 enumerate를 함께 사용하기 이니스프리 이니스프리 20.05.29.19:07 16607
549 [OpenCV] !_src.empty() in function 'cvtColor' 에러 해결방법 2 이니스프리 이니스프리 19.11.15.20:40 12756
548 윈도우 작업 스케줄러에서 특정 작업이 실행 안 되는 경우 해결방법 (배치파일 등의 상대경로 관련) 2 image 이니스프리 이니스프리 18.10.02.19:38 12425
547 [파이썬] Selenium에서 클릭이 안 될 때의 해결방법 이니스프리 이니스프리 19.10.27.22:20 10382
546 [Python] Requests에서 JSON 데이터를 POST 전송하는 방법 x2 이니스프리 이니스프리 21.08.22.08:16 9725
545 [Selenium] select box, check box, radio button 조작하기 이니스프리 이니스프리 20.06.27.15:47 8470
544 윈도우 MAK 라이센스의 인증 가능횟수 확인방법 4 이니스프리 이니스프리 18.11.21.23:53 7554
543 유튜브 iframe api의 autoplay 옵션과 관련하여 1 image 이니스프리 이니스프리 19.01.05.14:45 7530
542 일본 아마존에서 MP3 음원 구입하는 방법 5 image 제르엘 제르엘 19.12.23.01:28 7389
541 DB 설계하실 때 사용하면 좋을거 같은 사이트 공유합니다. 1 image JAVA JAVA 17.11.21.15:06 7001
540 국전 '빨간집' 위치 및 영업시간 등 정보 3 이니스프리 이니스프리 18.11.30.16:17 6758
539 제조사별 서버 원격관리 툴의 명칭 정리 (iLO, iDRAC, IPMI 등) 이니스프리 이니스프리 18.11.22.22:10 6537
538 해외직구시 카드 중복결제에 대하여 (아마존 등) 9 이니스프리 이니스프리 18.12.30.15:52 6119
537 텔레그램 비밀대화의 스크린캡쳐 방지기능 이니스프리 이니스프리 20.01.20.23:44 5917
536 크롬 원격 데스크톱 조작법 2 이니스프리 이니스프리 20.06.03.23:03 5822
535 윈도우의 CMD 창에서 Ctrl+V로 붙여넣기 (윈도우 10 / 윈도우 8 이하) 3 image 이니스프리 이니스프리 18.11.08.00:15 5759