이번에는 파일을 읽고 처리하는 방법에 대해서 배워보자. 모든 파일은 예시로 file.txt라는 텍스트 파일을 가정해서 사용하겠다.
# 파일 읽기
with open('../data/file.txt', 'r', encoding='UTF-8') as f:
for line in f:
print(line.strip())
먼저, 파일을 불러와서 읽으려면 open 함수를 사용하면 된다. with를 사용하는 이유는 파일을 열어주는 open 함수가 다 사용한 후에 close 해줘야 한다는 불편함을 해결하기 위함이다. open의 괄호 안을 차례대로 해석해 보자면, 파일이 저장된 위치, 작업 형태(어떤 작업을 할 것인지), 인코딩 방식(호환성을 위해 UTF-8 방식을 사용)이다. 이렇게 읽기 모드로 불러온 파일을 f라고 alias를 붙여줬다.
파이썬에서 텍스트 파일은 한 줄 한 줄씩 묶어서 읽으며, 이 점을 활용해서 각 줄에 기입된 데이터를 분리해 유용하게 사용할 수 있다. for 반복문에 .strip이 데이터를 분류하는 과정에서 필요한 작업이다.
# Strip
my_strip = "This is an example sentence for strip\n"
print(my_strip.strip())
# Split
my_string = "1 2 3 4 5 6"
print(my_string.split(" "))
name = "Kim, Jongkuk"
print(name.split(", "))
print(" \n\n 4 5 10 \t 2 \n 1 ".split())
텍스트 파일에서는 줄 바꿈을 위해 매줄마다 줄바꿈을 의미하는 '\n'이 줄 마지막에 기입되어 있다. 따라서, 이런 데이터와 무관한 값들을 제거해주는 것이 strip과 split이다.
strip은 문자열 양 끝의 공백을 없애주는 함수이고, split은 문자열에서 의미있는 값들을 개별적인 문자열로 분리해주는 함수이다. 여러 불필요한 내용이 포함된 문자열이 기입된 텍스트 파일에서 원하는 값을 따로 추출하고자 할 때 자주 사용되는 함수이니 알아둬야 한다.
# 새로운 파일 생성 및 내용 입력/추가
with open('../data/new_file.txt', 'w') as f:
f.write("Hello World!\n")
f.write("Feel free to enjoy my blog :)\n")
with open('../data/new_file.txt', 'a') as f:
f.write("\nIf there is any question\n")
f.write("Please do not hesitate to write a comment!")
새로운 파일을 생성하여 내용을 입력하거나, 기존 파일에 내용을 추가하는 방법이다. 읽기와 크게 다른 것은 없고 파일 위치를 지정하고, 파일 모드를 설정해주면 된다.
'IT Self-study > Python' 카테고리의 다른 글
| 파이썬 실습(3): 단어 연습장 (0) | 2025.04.17 |
|---|---|
| 랜덤 숫자 맞추기 프로그램 (0) | 2025.04.11 |
| 파이썬 기초: 모듈 (0) | 2025.04.11 |
| 파이썬 기초: 특별한 자료형의 특징 (0) | 2025.04.06 |
| 파이썬 기초: 사전 (0) | 2025.04.05 |