Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)에서 읽기·쓰기 모드로 파일을 여는 방법

파이썬에서 읽기·쓰기 모드로 파일 열기

파이썬에서 파일을 읽기와 쓰기를 동시에 수행하려면 open() 함수의 모드 인자에 w+를 지정하면 됩니다.

w+ 모드 사용 예제

f = open('my_file.txt', 'w+')
file_content = f.read()
f.write('Hello World')
f.close()

위 코드는 my_file.txt 파일을 w+(읽기·쓰기) 모드로 연 뒤, 파일 내용을 file_content 변수에 저장하고, 이어서 파일에 "Hello World"라는 문자열을 새로 작성한 후 파일을 닫습니다.

w+ 모드 사용 시 주의사항

w+ 모드는 파일을 열 때 기존 내용을 모두 삭제(truncate)한다는 점에 유의해야 합니다. 따라서 위 예제에서 f.read()가 실행되는 시점에는 파일이 이미 비어 있어 file_content에는 빈 문자열이 저장됩니다. 기존 내용을 먼저 읽어야 한다면 아래의 r+ 모드를 사용하는 것이 좋습니다.

r+ 모드와의 차이점

기존 파일 내용을 유지한 상태에서 읽고 쓰려면 r+ 모드를 사용하세요. r+ 모드는 파일을 자르지 않고 열기 때문에 기존 내용이 그대로 보존됩니다. 단, 해당 파일이 미리 존재해야 하며, 존재하지 않으면 FileNotFoundError 오류가 발생합니다.

팁: with 문으로 안전하게 파일 닫기

파일을 열었다면 사용 후 반드시 닫아야 합니다. with 문을 사용하면 코드 블록이 끝나는 시점에 파일이 자동으로 닫히므로 리소스 누수를 방지할 수 있어 더욱 안전합니다.

with open('my_file.txt', 'w+') as f:
    content = f.read()
    f.write('Hello World')