파이썬 파일 처리 방법: 파일 생성 및 읽기와 쓰기
파이썬에서 파일 처리는 데이터 분석 및 다루기, 사용자 입력 저장, 로그 기록 등 다양한 상황에서 필수적인 기능입니다. 이 글에서는 파이썬에서 파일을 생성하고, 읽고, 쓰는 기본적인 방법에 대해 알아보겠습니다.
목차
- 파일 생성하기
- 파일 쓰기
- 파일 읽기
- 파일 객체를 for문과 함께 사용하기
- 파일에 새로운 내용 추가하기
- with문과 함께 사용하기
1. 파일 생성하기
파이썬에서 파일을 생성하는 가장 간단한 방법은 open() 함수를 사용하는 것입니다. open() 함수는 첫 번째 인자로 파일명을, 두 번째 인자로 파일 열기 모드를 받습니다.
file = open("test.txt", "w") # 쓰기 모드로 'test.txt'라는 이름의 파일을 생성
file.close() # 파일을 닫음
위 코드는 ‘test.txt’라는 이름의 새로운 파일을 생성합니다.
2. 파일 쓰기
파일에 텍스트를 쓰려면, ‘w’ 모드를 사용합니다. ‘w’ 모드에서는 파일이 이미 존재하면 내용을 지우고 새로운 내용을 씁니다.
file = open("test.txt", "w")
file.write("Hello, Python!") # 파일에 문자열을 씀
file.close()
위 코드는 ‘test.txt’ 파일에 “Hello, Python!”라는 문자열을 씁니다.
3. 파일 읽기
파일의 내용을 읽으려면, ‘r’ 모드를 사용합니다. ‘r’ 모드는 기본 모드이므로, 모드를 지정하지 않으면 ‘r’ 모드로 열립니다. 파일을 읽을 때는 read(), readline(), readlines() 등의 함수를 사용할 수 있습니다.
1. read() 함수는 파일의 모든 내용을 문자열로 반환합니다.
file = open("test.txt", "r")
print(file.read()) # 파일의 모든 내용을 읽어서 출력
file.close()
2. readline() 함수는 파일의 내용을 한 줄씩 읽습니다.
file = open("test.txt", "r")
print(file.readline()) # 파일의 첫 번째 줄을 읽어서 출력
file.close()
3. readlines() 함수는 파일의 모든 내용을 한 줄씩 분리하여 리스트로 반환합니다.
file = open("test.txt", "r")
print(file.readlines()) # 파일의 모든 줄을 읽어서 출력
file.close()
위 코드는 파일의 모든 줄을 읽어서 출력합니다. readlines() 함수는 각 줄을 리스트의 원소로 반환하므로, 파일의 각 줄을 리스트로 얻을 수 있습니다.
4. 파일 객체를 for문과 함께 사용하기
파일 객체는 이터러블(반복 가능한) 객체이므로, for문과 함께 사용할 수 있습니다. 이를 통해 파일의 각 줄을 효율적으로 처리할 수 있습니다.
file = open("test.txt", "r")
for line in file:
print(line) # 파일의 각 줄을 출력
file.close()
위 코드는 ‘test.txt’ 파일의 각 줄을 차례대로 출력합니다.
줄 바꿈(n) 문자 제거하기
파이썬에서 텍스트 파일을 읽을 때, 각 줄 끝에는 줄 바꿈(n) 문자가 붙어 있습니다. 이것은 파일에서 실제로 각 줄이 새로운 줄로 시작되기 때문인데요, 때때로 이 줄 바꿈 문자를 제거하고 싶을 수 있습니다. 이럴 때는 rstrip() 메서드를 사용하면 됩니다. rstrip() 메서드는 문자열의 오른쪽(즉, 끝)에서 부터 지정된 문자를 제거합니다. 여기서는 줄 바꿈 문자를 제거하겠습니다.
file = open("test.txt", "r")
for line in file:
print(line.rstrip()) # 줄 바꿈 문자 제거하고 출력
file.close()
5. 파일에 새로운 내용 추가하기
기존의 파일에 새로운 내용을 추가하려면, ‘a’ 모드를 사용합니다. ‘a’ 모드에서는 파일이 이미 존재하면 그 끝에 새로운 내용을 추가하고, 파일이 없으면 새로운 파일을 생성합니다.
file = open("test.txt", "a")
file.write("nAdd new line.") # 파일 끝에 새로운 줄 추가
file.close()
위 코드는 ‘test.txt’ 파일의 끝에 “Add new line.”이라는 새로운 줄을 추가합니다.
6. with문과 함께 사용하기
파일을 열었으면 반드시 닫아야 합니다. 그렇지 않으면 데이터 손실이나 다른 문제가 발생할 수 있습니다. 파일을 자동으로 닫기 위해 with문을 사용할 수 있습니다.
with open("test.txt", "r") as file:
print(file.read()) # 파일의 모든 내용을 읽어서 출력
위 코드는 with문을 사용하여 ‘test.txt’ 파일을 열고, 모든 내용을 읽어서 출력합니다. with문은 코드 블록이 끝나면 자동으로 파일을 닫아주므로, file.close()를 호출할 필요가 없습니다.
☞ 파이썬에서 파일을 생성하고, 읽고, 쓰는 기본적인 방법에 대해 알아보았습니다. 이 외에도 파이썬의 파일 처리 기능은 매우 다양하므로, 필요에 따라 적절히 활용하시기 바랍니다.
참고 자료
함께 보면 좋은 이전 게시글
- 파이썬에서 데이터 타입 변환하기: int(), float(), str() 함수 사용법
- 파이썬 리스트 연산: 리스트 간의 덧셈, 곱셈 및 수정, 삭제
- 파이썬 딕셔너리의 주요 함수: keys, values, items, clear, get, in
- 파이썬 집합 자료형: 연산자 및 함수
- 파이썬 함수 사용법: 매개변수와 인수, 람다 함수
이 글이 도움이 되셨다면 공유를 부탁 드립니다. 다음 글에서 뵙겠습니다!