Python 학습: 파일 입출력
파일 입출력은 프로그램이 파일과 상호작용하여 데이터를 읽고 쓰는 중요한 기능입니다. 이번 글에서는 파일 열기와 닫기, 파일 읽기와 쓰기, 그리고 파일 위치 조정에 대해 알아보겠습니다.
1. 파일 열기와 닫기: open, close
Python에서 파일을 열고 닫는 방법은 매우 간단합니다. open 함수를 사용하여 파일을 열고, 작업이 끝난 후 close 함수를 사용하여 파일을 닫습니다.
- 파일 열기와 닫기 예제
file = open("example.txt", "w")
# 파일에 데이터 쓰기
file.write("Hello, World!")
# 파일 닫기
file.close()
open 함수는 파일을 열고 파일 객체를 반환합니다. 첫 번째 인자는 파일 경로, 두 번째 인자는 파일 모드입니다. 주요 파일 모드는 다음과 같습니다:
- "r": 읽기 모드 (기본값)
- "w": 쓰기 모드 (파일이 존재하지 않으면 새로 생성, 기존 파일이 있으면 내용 삭제)
- "a": 추가 모드 (파일 끝에 데이터 추가)
- "b": 바이너리 모드 (예: "rb", "wb")
파일을 열고 작업이 끝나면 반드시 close 함수를 호출하여 파일을 닫아야 합니다. 이를 통해 파일 리소스를 해제하고 데이터가 제대로 저장되도록 합니다.
2. 파일 읽기와 쓰기: read, write, readline, writelines
파일에서 데이터를 읽고 쓰는 방법은 여러 가지가 있습니다. 주요 메서드는 read, write, readline, writelines입니다.
- 파일 쓰기 예제
with open("example.txt", "w") as file:
file.write("Hello, World!\n")
file.write("Python 파일 입출력 예제입니다.\n")
위의 예제에서 with 문을 사용하여 파일을 열고, 블록이 끝나면 자동으로 파일을 닫습니다. write 메서드는 문자열을 파일에 씁니다.
- 파일 읽기 예제
with open("example.txt", "r") as file:
content = file.read()
print(content)
read 메서드는 파일의 모든 내용을 문자열로 읽습니다.
- readline 예제
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line, end="")
line = file.readline()
readline 메서드는 파일에서 한 줄씩 읽습니다.
- writelines 예제
# 파일 열기 (쓰기 모드)
with open("example.txt", "w") as file:
file.writelines(lines)
writelines 메서드는 문자열 리스트를 파일에 씁니다.
3. 파일 위치 조정: seek, tell
파일 위치 지시자는 파일 내에서 읽기 또는 쓰기 작업이 수행될 위치를 가리킵니다. 파일 위치 지시자를 조작하여 파일의 특정 위치로 이동할 수 있습니다.
- 파일 위치 조정 예제
with open("example.txt", "w") as file:
file.write("1234567890")
# 파일 열기 (읽기 모드)
with open("example.txt", "r") as file:
print("현재 파일 위치:", file.tell()) # 파일 위치 지시자 출력 (0)
content = file.read(5)
print("읽은 내용:", content) # '12345' 출력
print("현재 파일 위치:", file.tell()) # 파일 위치 지시자 출력 (5)
# 파일 위치 지시자를 파일 시작 위치로 이동
file.seek(0)
print("파일 위치 조정 후:", file.tell()) # 파일 위치 지시자 출력 (0)
content = file.read(5)
print("다시 읽은 내용:", content) # '12345' 출력
tell 메서드는 현재 파일 위치 지시자를 반환합니다. seek 메서드는 파일 위치 지시자를 설정하여 파일의 특정 위치로 이동시킵니다. seek 메서드는 두 개의 인자를 받습니다:
- 첫 번째 인자: 파일 내에서 이동할 바이트 수
- 두 번째 인자 (옵션): 이동 시작 위치 (0: 파일 시작, 1: 현재 위치, 2: 파일 끝)
이 글에서는 Python의 파일 입출력에 대해 알아보았습니다. 파일 열기와 닫기, 파일 읽기와 쓰기, 파일 위치 조정을 이해하고 활용하면 파일과 상호작용하는 프로그램을 작성할 수 있습니다. 다음 단계에서는 예외 처리와 고급 기능을 학습해보세요. Happy Coding!
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 7. Python의 "객체 지향 프로그래밍 (OOP)" (0) | 2024.06.18 |
---|---|
[Python] 6. Python의 "예외 처리" (0) | 2024.06.18 |
[Python] 4. Python의 "데이터 구조" (0) | 2024.06.17 |
[Python] 3. Python의 "함수" (0) | 2024.06.17 |
[Python] 2. Python의 "기본 문법" (0) | 2024.06.17 |