python 큰 파일 의 한 줄 삭제(가장 효율 적 인 방법)

python 으로 텍스트 를 처리 할 때 그 중 한 줄 을 삭제 하려 면 파일 을 메모리 에 읽 고 메모리 에서 수정 한 다음 원본 파일 을 쓰 는 것 이 일반적인 사고방식 입 니 다.
그러나 GB 급 텍스트 와 같은 큰 텍스트 를 처리 하려 면 메모리 사용량 이 많 을 뿐만 아니 라 메모 리 를 한꺼번에 읽 는 데 시간 이 걸 리 고 메모리 가 넘 칠 수도 있 습 니 다.
그래서 다른 사고방식 으로 처리 해 야 한다.
수정 할 파일 을 두 파일 로 열 고 메모리 에 한 줄 씩 읽 고 삭제 할 줄 을 찾 을 때 뒤의 줄 로 하나씩 덮어 쓸 수 있 습 니 다.실현 방식 은 다음 코드 를 보십시오.

with open('file.txt', 'r') as old_file:
  with open('file.txt', 'r+') as new_file:

    current_line = 0

    #          
    while current_line < (del_line - 1):
      old_file.readline()
      current_line += 1

    #             ,     
    seek_point = old_file.tell()

    #       
    new_file.seek(seek_point, 0)

    #        ,         
    old_file.readline()
    
    #            next_line
    next_line = old_file.readline()

    #        ,         
    while next_line:
      new_file.write(next_line)
      next_line = old_file.readline()

    #            ,      ,        ,           
    new_file.truncate()
이상 의 python 에서 큰 파일 의 한 줄 을 삭제 하 는 것(가장 효율 적 인 방법)은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기