안녕하세요.
오늘은 파이썬 내장 모듈인 fnmatch를 활용하여 폴더 및 파일 이름의 패턴을 찾는 방법에 대해 알아보겠습니다.
파이썬 fnmatch 폴더·파일명 탐색하기
- test 실습을 위해 아래와 같이 py_test 폴더에 파일들을 세팅함
▣ 특정 문자열 가진 파일 찾기
- 문자열과 * 조합을 통해 내가 찾고자 하는 문자를 가진 폴더나 파일명들을 찾을 수 있음
import os
import fnmatch
# 경로에 해당하는 폴더명
py_folder = 'C:/Users/코딩하는 금융인/Desktop/블로그/test/py_test'
# 출력 리스트
data_list = []
for i in os.listdir(py_folder):
if fnmatch.fnmatch(i, '*data*'):
data_list.append(i)
print(data_list)
: 결과 확인하기
['data_exp_1.txt', 'data_exp_2.txt', 'data_exp_3.txt', 'data_folder', 'data_pic.jpg', 'data']
▣ 문자열 길이로 찾기
- 파일이 특정 길이로 이루어져있는 경우, '?'나 [정규표현식]을 통해 폴더나 파일명들을 찾을 수 있음
- 유의할 점은 .txt나 .jpg 등 파일 유형을 고려해야 함
## 1) 4자리수 찾기
# 출력 리스트
data_list = []
for i in os.listdir(py_folder):
if fnmatch.fnmatch(i, '????'):
data_list.append(i)
print(data_list)
## 2) data_exp_숫자 txt 파일 찾기
# 출력 리스트
data_exp_list = []
for i in os.listdir(py_folder):
if fnmatch.fnmatch(i, 'data_exp_[0-9].txt'):
data_exp_list.append(i)
print(data_exp_list)
: 결과 확인하기
1) ['data']
2) ['data_exp_1.txt', 'data_exp_2.txt', 'data_exp_3.txt']
반응형
'Programming > Python' 카테고리의 다른 글
[Python] fileinput 파일 수정하기 (0) | 2024.01.21 |
---|---|
[Python] 상관분석 (산점도, 상관계수, 검정) (1) | 2024.01.05 |
[Python] textwrap 문자열 래핑하기 (2) | 2023.12.26 |
[Python] 최대, 최솟값 인덱스 구하기 (1) | 2023.12.22 |
[Python] 파이썬 순위 매기기 (1) | 2023.12.21 |
댓글