<* 파이썬 - 파일 입출력 *>
파이썬에서 파일 입출력은 데이터를 파일에서 읽거나 파일에 쓰기 위해 사용됩니다. 기본적인 파일 작업에는 파일 열기, 읽기, 쓰기, 닫기가 포함된다.
( 1 ) 파일 읽기
•파일 객체를 사용하여 파일의 내용을 읽을 수 있다.
• read(), readline(), readlines() 함수를 사용하여 파일의 전체 내용, 한 줄 또는 모든 줄을 각각 읽을 수 있다.
예) content = file.read() # 파일 전체를 읽음
( 2 ) 파일 쓰기
• 쓰기 모드('w') 또는 추가 모드('a')로 파일을 열면 파일에 데이터를 쓸 수 있다.
• write() 함수를 사용하여 파일에 문자열을 쓸 수 있다.
예)
file = open('example.txt', 'w') # 쓰기 모드로 파일 열기
file.write('Hello, world!') # 파일에 문자열 쓰기
( 3 ) 파일 닫기
• 파일 작업을 완료한 후에는 close() 메서드를 호출하여 파일을 닫아야 한다.
• 이렇게 하면 시스템 리소스가 해제되고, 변경 사항이 파일에 저장된다.
예 ) file.close() # 파일 닫기
( 4 ) with 문 사용법
• with 문을 사용하면 파일을 자동으로 닫을 수 있다.
• 이 방법은 파일을 열고 작업을 수행한 후 파일을 자동으로 닫아준다.
• with 문을 사용하면 close() 메서드를 명시적으로 호출할 필요가 없어 프로그램을 더 안전하게 만들 수 있다.
예 )
with open('example.txt', 'r') as file:
content = file.read() # 파일 읽기
# 파일은 with 블록을 벗어나는 순간 자동으로 닫힘
( 5 ) 바이너리 파일 입출력
• 바이너리 파일을 다룰 때는 파일 모드에 'b'를 추가하여 파일을 열어야 한다.
예 ) 이미지 파일을 바이너리 모드로 열고 읽음
with open('example.png', 'rb') as file: # 바이너리 모드로 파일 읽기
content = file.read()
• 바이너리 파일을 쓸 때도 마찬가지로 'wb' 모드를 사용한다.
예 ) 바이너리 데이터를 파일에 쓰기
with open('output.png', 'wb') as file: # 바이너리 모드로 파일 쓰기
file.write(b'...') # 바이너리 데이터 쓰기
바이너리 모드에서 read() 메서드는 바이너리 데이터를 읽고, write() 메서드는 바이너리 데이터를 씁니다. 바이너리 데이터를 처리할 때는 데이터가 텍스트가 아님을 명심해야 하며, 데이터를 읽고 쓸 때 정확한 바이트 시퀀스를 사용해야 합니다.