본문 바로가기
코딩 연습/코딩배우기

파이썬 truncate() 함수로 텍스트 파일 내용 삭제하기

by good4me 2022. 4. 7.

goodthings4me.tistory.com

파이썬에서 텍스트 파일 등의 내용을 일부 삭제해야 하는 경우, truncate() 메서드를 사용하면 현재 파일의 크기를 특정 바이트 수로 자를 수 있다. 또한, 파일의 모든 내용 삭제하거나 특정 단어가 포함된 라인을 찾아 삭제도 가능하다.

 

파이썬 truncate() 함수 예제

특정 파일의 내용 중 짝수 라인만을 삭제하는 코드

with open('test.txt', 'r+', encoding='utf-8') as f:
    new_f = f.readlines()
    f.seek(0)  # 파일 시작 부분으로 이동
    cnt = 1
    for line in new_f:
        cnt += 1
        if cnt % 2 == 0:
            f.write(line)
    f.truncate()  # 현 위치까지만 남기고 나머지는 정리
print('완료!')

 

 

위 코드에서 파일 내용을 일부 삭제 후 다시 쓰는 방법으로 하기 위해 읽기 추가 모드인 'r+'로 파일을 열었다.

 

예시로, 아래와 같은 파일이 있다.

인생을 바꾸고 싶다고 말한다.
어제와 똑같이 살면서.

세상을 바꾸고 싶다고 말한다.
아무 것도 하지 않으면서.

누가 누가 나쁘다고 말한다.
그보다 더 나쁘게 살면서.

예수를 믿으라고 말한다.
예수와 정반대로 살면서.

부처님께 삼천배 했다고 말한다.
저만 잘 살게 해달라고 빌었으면서.

집값이 올랐다고 욕한다.
자기가 올렸으면서.

요즘 아이들 큰일났다고 말한다.
부끄러움을 잊었으면서.

점점 더 소외된다고 말한다.
하루종일 종편만 보면서.

점점 더 가난해진다고 말한다.
부자에게 투표하면서.

점점 더 이해할 수 없는 것 투성이라고 말한다.
책 한 줄 읽지 않으면서.

세상이 지옥이라고 말한다.
자기가 악마로 살면서.

세상이 천국이라고 말한다.
남의 것을 다 빼앗았으면서.

그리고 우리의 아들 딸들은 매일 밤 10시가 되면 이렇게 기도한다.

"정치인들은 국민을 두려워하게 하시고
기업인들은 사람을 존중하게 하시며
언론인들은 진실을 말하게 해 주시고
법조인들은 양심을 지키게 하소서"

 

good4me.co.kr

 

위 내용을 소스 코드로 실행한 결과는,

코드 실행결과
코드 실행결과

 

 

 

댓글