프로그래밍에서 파일 입출력은 외부 데이터를 저장하거나 불러올 때 유용하게 사용됩니다.
파이썬에서는 파일을 쉽게 열고, 데이터를 읽고 쓰는 다양한 기능을 제공합니다.
이 글에서는 파이썬에서 파일을 다루는 기본적인 방법을 예제와 함께 설명합니다.
1. 파일 열기와 닫기
파이썬에서 파일을 다루기 위해서는 먼저 파일을 열고 작업을 마친 후 닫아야 합니다. 파일을 열 때는 open()
함수를 사용하며, 이 함수는 두 개의 인수를 받습니다:
- 파일 이름: 작업할 파일의 이름 (예:
"example.txt"
) - 모드: 파일을 여는 모드 (읽기, 쓰기, 추가 등)
주요 파일 모드
"r"
: 읽기 모드 (파일이 존재해야 함)"w"
: 쓰기 모드 (파일이 없으면 새로 생성, 기존 파일이 있다면 내용을 덮어씀)"a"
: 추가 모드 (파일 끝에 데이터를 추가, 파일이 없으면 생성)"r+"
: 읽기 및 쓰기 모드
예제 1: 파일 열고 닫기
아래 예제는 example.txt
라는 파일을 열고 닫는 기본 코드입니다.
file = open("example.txt", "w") # 파일 열기
file.write("Hello, World!") # 파일에 데이터 쓰기
file.close() # 파일 닫기
위 코드에서 파일을 w
모드로 열어 데이터를 쓰고, 작업 후 close()
메서드로 파일을 닫습니다.
2. 파일 쓰기
파일에 데이터를 쓰려면 write()
메서드를 사용합니다. 파일이 "w"
모드나 "a"
모드로 열려 있어야 합니다.
예제 2: 파일에 데이터 쓰기
아래 예제는 example.txt
파일에 여러 줄의 데이터를 작성하는 코드입니다.
file = open("example.txt", "w")
file.write("첫 번째 줄입니다.\n")
file.write("두 번째 줄입니다.\n")
file.write("세 번째 줄입니다.\n")
file.close()
각 줄의 끝에 \n
을 추가하여 줄바꿈을 적용할 수 있습니다.
3. 파일 읽기
파일에서 데이터를 읽으려면 "r"
모드로 파일을 열고, read()
, readline()
, readlines()
메서드를 사용하여 데이터를 읽을 수 있습니다.
3.1 read() 메서드
read()
메서드는 파일의 전체 내용을 하나의 문자열로 읽습니다.
예제 3: 파일의 전체 내용 읽기
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()
3.2 readline() 메서드
readline()
메서드는 파일의 한 줄씩 읽어 들입니다.
예제 4: 파일에서 한 줄씩 읽기
file = open("example.txt", "r")
line = file.readline()
while line:
print(line, end="")
line = file.readline()
file.close()
위 코드에서는 파일의 내용을 한 줄씩 읽어 while
루프를 통해 출력합니다.
3.3 readlines() 메서드
readlines()
메서드는 파일의 모든 줄을 리스트 형태로 반환합니다.
예제 5: 모든 줄을 리스트로 읽기
file = open("example.txt", "r")
lines = file.readlines()
for line in lines:
print(line, end="")
file.close()
위 코드에서는 파일의 각 줄을 리스트 요소로 처리하여 출력합니다.
4. with 문을 사용한 파일 관리
with 문을 사용하면 파일을 열고 닫는 작업을 자동으로 처리할 수 있습니다. 파일 작업이 끝난 후 자동으로 close()
메서드를 호출해주므로 코드가 간결해지고, 자원 누수를 방지할 수 있습니다.
예제 6: with 문으로 파일 쓰기
with open("example.txt", "w") as file:
file.write("Hello, World!\n")
file.write("파일 작업이 완료되었습니다.")
with
블록을 벗어나면 파일이 자동으로 닫힙니다.
5. 파일 처리 예제
지금까지 배운 파일 읽기와 쓰기를 종합하여 파일의 내용을 읽고, 수정하여 다시 저장하는 예제를 만들어 보겠습니다.
예제 7: 파일 읽고 쓰기
# 기존 파일 읽기
with open("example.txt", "r") as file:
content = file.read()
# 내용을 수정하여 파일에 다시 쓰기
with open("example.txt", "w") as file:
file.write(content.replace("Hello", "Hi"))
위 예제에서는 example.txt
의 내용을 읽고, "Hello"라는 단어를 "Hi"로 대체한 후 파일에 다시 저장합니다.
마무리
이번 글에서는 파이썬의 파일 입출력 방법을 통해 파일을 읽고 쓰는 기본적인 사용법을 알아보았습니다.
파일 입출력은 외부 데이터를 관리하고 저장할 때 유용하며, 파이썬에서 제공하는 open()
함수와 다양한 메서드를 통해 손쉽게 작업할 수 있습니다.
파일 입출력 예제를 통해 데이터를 효과적으로 관리해 보세요!