Python 에서 glob 라 이브 러 리 가 파일 이름 과 일치 합 니 다.
Pathlib 라 이브 러 리 에서 glob()함 수 를 언급 한 이상 파일 이름 의 일치 성 을 한 편의 내용 으로 설명 합 니 다.사실 우 리 는 전문 적 인 파일 이름 일치 라 이브 러 리 를 가지 고 있 습 니 다.바로 glob 입 니 다.
그러나 glob 라 이브 러 리 의 API 는 매우 작 지만 파일 이름 의 일치 에 만 적용 하면 충분 합 니 다.실제 항목 에서 필터 가 필요 하거나 파일 과 일치 하 는 경우 이 라 이브 러 리 를 사용 하여 작업 할 수 있 습 니 다.
어댑터
별표(*)
말 이 많 지 않 습 니 다.다음은 파일 이름 과 일치 하 는 마스크 를 사용 합 니 다.예 는 다음 과 같 습 니 다.
import glob
for name in sorted(glob.glob('text/*')):
print(name)
실행 후 효 과 는 다음 과 같 습 니 다.디 렉 터 리 에 있 는 모든 파일 을*어댑터 로 가 져 왔 을 뿐만 아니 라 정렬 도 했다.
물음표(?)
물음표(?)예 를 들 어 우 리 는 위의 첫 번 째 그림 파일 을 선택 하 는 것 과 일치 하 는 단어 입 니 다.예 는 다음 과 같다.
import glob
for name in glob.glob('text/1?.png'):
print(name)
실행 후 효 과 는 다음 과 같 습 니 다.구간 매 칭([0-9][a-z][A-Z])
위의 두 개의 일치 하 는 것 을 보면 glob 라 이브 러 리 의 일치 규칙 은 정규 표현 식 과 약간 비슷 하 다.모호 한,하나 이상 의 문자 와 일치 할 수 있다 면 구간 문자 도 일치 할 수 있 을 것 이다.
예 는 다음 과 같다.
import glob
for name in glob.glob('text/15[a-z].*'):
print(name)
실행 후 효 과 는 다음 과 같 습 니 다.전의 문자
물론 위의 파일 이름 은 모두 일반적인 파일 이름 으로 알파벳 과 숫자 로 구성 되 어 있다.그러나 어떤 사람들 은 이상 합 니 다.파일 이름 에 특수 한 문 자 를 포함 하고 있 을 수 있 습 니 다.예 를 들 어 위의 일치 하 는 문자"?*["기다리다그럼 어 떡 하지?역 슬 래 쉬"\"로 의 미 를 바 꿉 니까?
사실 우 리 는 더 간단 한 것 이 있 습 니 다.escape()함 수 를 직접 사용 하여 조작 합 니 다.예 는 다음 과 같다.
import glob
escape_str='?*[]'
for char in escape_str:
pattern = 'text/*' + glob.escape(char) + '.png'
for name in glob.glob(pattern):
print(name)
실행 후 효 과 는 다음 과 같 습 니 다.파 이 썬 에서 glob 라 이브 러 리 가 파일 이름 과 일치 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 파일 이름 과 일치 하 는 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.