[Python] 파일 읽고 쓰기
파이썬에서 파일을 읽고 쓰는 방법에 대해 알아보겠습니다.
파일을 읽고 쓰기 위해서는 먼저 파일을 열어야 하며, 작업이 끝난 후에는 파일을 닫아야 합니다.
1. 파일을 열고 닫는 방법 (open
, with
)
파이썬에서 파일을 열고 닫는 것은 두가지 방법으로 가능합니다.
기본 방법: open
함수 사용
기본 방법은 open
함수를 사용하여 파일을 열고, 작업이 끝난 후 명시적으로 close()
메서드를 호출하여 파일을 닫는 것입니다.
# 파일 열기
file = open('example.txt', 'r')
# 파일 읽기
content = file.read()
print(content)
# 파일 닫기
file.close()
with
문 사용
with
문을 사용하면 파일을 열고 작업이 끝난 후 자동으로 파일을 닫아줍니다. with
블록을 벗어나면 파일이 자동으로 닫히므로 close()
를 명시적으로 호출할 필요가 없습니다.
# with 문을 사용하여 파일 열기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
# with 블록을 벗어나면 파일이 자동으로 닫힙니다.
2. 파일 열기
파일을 열기 위해서는 open()
함수를 사용합니다. open()
함수는 파일 객체를 반환하며, 파일에 대한 다양한 작업을 수행할 수 있게 해줍니다. open()
함수의 기본 문법은 다음과 같습니다:
file_object = open('파일이름', '모드')
파일이름
: 파일의 경로와 이름을 지정합니다.모드
: 파일을 열 때 사용할 모드를 지정합니다. 기본 모드는 읽기 모드인'r'
입니다.
3. 파일 모드
파일 모드는 파일을 어떻게 열지 지정합니다. 자주 사용되는 파일 모드는 다음과 같습니다:
모드 | 설명 |
---|---|
'r' |
읽기 모드 (기본값) |
'w' |
쓰기 모드 |
'a' |
추가 모드 |
'b' |
바이너리 모드 |
't' |
텍스트 모드 (기본값) |
'r+' |
읽기 및 쓰기 모드 |
'w+' |
읽기 및 쓰기 모드 (파일 덮어씀) |
'a+' |
읽기 및 쓰기 모드 (파일 추가) |
4. 파일 쓰기
텍스트 파일에 데이터를 쓰는 방법에 대해 알아보겠습니다.
4.1 텍스트 파일 쓰기
파일을 쓰기 모드('w'
)로 열고 데이터를 작성하는 방법입니다. 파일이 존재하지 않으면 새로 생성되며, 파일이 이미 존재하면 기존 내용을 덮어씁니다.
# 파일 쓰기 모드로 열기
with open('example.txt', 'w') as file:
file.write('Hello, World!\n')
file.write('파이썬에서 파일 쓰기 예제입니다.')
# 'with' 블록을 벗어나면 파일이 자동으로 닫힙니다.
4.2 텍스트 파일에 데이터 추가하기
파일을 추가 모드('a'
)로 열고 데이터를 작성하는 방법입니다. 파일이 존재하지 않으면 새로 생성되며, 파일이 이미 존재하면 기존 내용 뒤에 데이터를 추가합니다.
# 파일 추가 모드로 열기
with open('example.txt', 'a') as file:
file.write('\n추가된 내용입니다.')
# 'with' 블록을 벗어나면 파일이 자동으로 닫힙니다.
5. 파일 읽기
파일에서 데이터를 읽는 방법에 대해 알아보겠습니다.
5.1 텍스트 파일 읽기
파일을 읽기 모드('r'
)로 열고 전체 내용을 읽는 방법입니다.
# 파일 읽기 모드로 열기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
# 'with' 블록을 벗어나면 파일이 자동으로 닫힙니다.
5.2 파일을 줄 단위로 읽기
파일을 줄 단위로 읽는 방법입니다. readlines()
메서드를 사용하여 파일의 모든 줄을 리스트로 읽어옵니다.
# 파일 읽기 모드로 열기
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # 줄 끝의 개행 문자를 제거하고 출력
# 'with' 블록을 벗어나면 파일이 자동으로 닫힙니다.
5.3 파일을 한 줄씩 읽기
파일을 한 줄씩 읽는 방법입니다. 파일 객체 자체가 이터레이터(iterator)로 동작하여 한 줄씩 읽어올 수 있습니다.
# 파일 읽기 모드로 열기
with open('example.txt', 'r') as file:
for line in file:
print(line.strip()) # 줄 끝의 개행 문자를 제거하고 출력
# 'with' 블록을 벗어나면 파일이 자동으로 닫힙니다.
6. 바이너리 파일 읽고 쓰기
바이너리 파일은 텍스트가 아닌 데이터를 저장하는 파일입니다. 예를 들어 이미지나 동영상 파일이 이에 해당합니다. 바이너리 파일을 읽고 쓰기 위해서는 'b'
모드를 사용해야 합니다.
6.1 바이너리 파일 읽기
바이너리 파일을 읽기 모드('rb'
)로 열고 데이터를 읽는 방법입니다.
with open('image.jpg', 'rb') as file:
data = file.read()
print(data)
# 'with' 블록을 벗어나면 파일이 자동으로 닫힙니다.
6.2 바이너리 파일 쓰기
바이너리 파일을 쓰기 모드('wb'
)로 열고 데이터를 쓰는 방법입니다.
with open('new_image.jpg', 'wb') as file:
file.write(data)
# 'with' 블록을 벗어나면 파일이 자동으로 닫힙니다.
Leave a comment