728x90
반응형
이번 포스트에서는 여러 파일들을 한번에 읽어오는 방법을 알아본다
예제는 다음과 같다

위와 같이 Resource 폴더 아래에 있는 A~Z까지의 txt 파일을 읽어와서
하나의 리스트 형태로 정리한 다음 해당 리스트를 출력하면 된다
1) os 모듈과 replace 메서드 사용
import os
def readFiles(filespath):
ret = []
if os.path.exists(filespath):
for file in os.listdir(filespath):
with open(f"{filespath + file}", 'r') as f:
ret.append(f.read().replace("\n", ""))
return ret
print(readFiles("Resource/"))
os 모듈에 존재하는 listdir 메서드를 사용하면
경로를 인자로 받고 해당 경로에 있는 모든 파일들을 리스트 형태로 반환한다
리스트 형태로 반환된 경로들을 순회하면서 읽어오고 읽은 파일에서 개행 문자를 지운 후 리스트에 저장한다
최종 실행 결과는 다음과 같다

2) glob 모듈과 strip 메서드 사용
import glob
def readFiles2(filespath):
ret = []
if os.path.exists(filespath):
for file in glob.glob(filespath + '\*.txt'):
with open(f"{file}", 'r') as f:
ret.append(f.read().strip("\n"))
return ret
print(readFiles2("Resource"))
glob 모듈을 사용하면 경로에 있는 파일들을 가져오는 작업이 훨씬 빨라진다
os 모듈만을 사용했을 때 보다 효율이 좋아지므로 glob 모듈을 사용하는 것이 좋다
로직을 살펴보면 이전과 동일하게 경로를 인자로 받고 해당 경로에서 txt 확장자를 지닌 파일을 가져온다
가져온 파일을 순회하면서 읽어오고 개행 문자를 지워서 리스트에 저장하여 반환한다
최종 실행 결과는 다음과 같다

728x90
반응형
'Python > 45가지 파이썬 기초문법 예제' 카테고리의 다른 글
| 파이썬 (29) 문자열 포맷팅 (0) | 2025.05.17 |
|---|---|
| 파이썬 (28) 사용자 입력 처리 (0) | 2025.05.15 |
| 파이썬 (26) 파일 쓰기 (0) | 2025.05.13 |
| 파이썬 (25) 리스트 스플릿 (0) | 2025.05.11 |
| 파이썬 (24) 병렬 처리 (0) | 2025.05.10 |