python 어댑터의glob 모듈 사용 상세 정보
폴더를 찾을 때 하나 이상의 진짜 문자를 대체할 수 있습니다.실제 문자를 모르거나 일정한 조건에 맞는 여러 대상 파일과 일치해야 할 때, 하나 이상의 실제 문자를 와일드카드로 대체할 수 있습니다.
영어'globbing'은 통일을 의미하고python은 모듈glob에서glob() 함수를 정의하여 디렉터리 내용에 일치하는 기능을 실현했다.glob.glob () 함수는 플러그인 모드를 입력으로 받아들이고 일치하는 모든 파일 이름과 경로 이름 목록을 os와 되돌려줍니다.listdir 유사합니다.
glob 모듈에서 자주 사용하는 함수:
glob(pathname, recursive=False)
첫 번째 매개 변수 pathname은 일치하는 문자열입니다.(이 매개 변수는 불필요한 오류가 발생하지 않도록 r접두사를 붙여야 한다.)두 번째 매개변수는 기본 False로 특수 와일드카드 문자 "**"와 함께 사용되는 반복 호출을 나타냅니다.
이 함수는 조건에 맞는 경로의 문자열 목록을 되돌려줍니다. Windows 시스템을 사용하는 경우 경로의 "\"기호가 자동으로 덧붙여져 "\"기호가 됩니다.
iglob(pathname, recursive=False)
인자는glob () 와 일치합니다.교체기를 되돌려줍니다. 이 교체기는 일치하는 모든 경로를 동시에 저장하지 않고 일치하는 파일 경로 이름을 하나씩 가져옵니다. 이 교체기를 훑어보는 결과는 같은 매개 변수를 사용하여glob () 를 호출하는 복귀 결과와 일치합니다.
glob 모듈에서 지원하는 와일드카드:
와일드카드
기능
*
0 또는 여러 문자 일치
**
모든 파일, 디렉터리, 하위 디렉터리 및 하위 디렉터리의 파일 일치(3.5 버전 추가)
?
정규 표현식과?다르다
[exp]
지정된 범위 내의 문자 일치 (예: [1-9] 1-9 범위 내의 문자 일치)
[!exp]
지정된 범위에 없는 문자 일치
glob.glob 함수 사용 예시
import glob
listglob = []
listglob = glob.glob(r"/home/xxx/picture/*.png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.glob(r"/home/xxx/picture/0?.png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.glob(r"/home/xxx/picture/0[0,1,2].png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.glob(r"/home/xxx/picture/0[0-3].png")
listglob.sort()
print listglob
print '--------------------'
listglob = glob.iglob(r"/home/xxx/picture/0[a-z].png")
print listglob
for item in listglob:
print item
추가: Python glob() 함수 초 이해Python glob()
glob 모듈은 가장 간단한 모듈 중 하나로 내용이 매우 적다.특정 규칙에 맞는 파일 경로 이름을 찾을 수 있습니다.
윈도우즈를 사용한 파일 검색과 차이가 많지 않습니다.파일을 찾는 데는 세 개의 일치부호만 사용됩니다.'*','?',“[ ]”.”*”0자 이상의 문자와 일치합니다.임의의 단일 문자 일치[]는 지정된 범위 내의 문자와 일치합니다. 예를 들어 [0-9]는 숫자와 일치합니다.
대소문자 구분 안 함
'.'시작이 일치하지 않음
print(glob.glob(r' . ./*') )
이전 레벨 모든 디렉토리
>>> print(glob.glob("../*"))
['..\\Python37-32', '..\\Python38-32']
print(glob.glob(r' ./*') )
이 레벨 모든 디렉토리
>>> print(glob.glob("./*"))
['.\\DLLs', '.\\Doc', '.\\include', '.\\Lib', '.\\libs', '.\\LICENSE.txt', '.\\NEWS.txt', '.\\python.exe', '.\\python3.dll', '.\\python38.dll', '.\\pythonw.exe', '.\\Scripts', '.\\tcl', '.\\Tools', '.\\vcruntime140.dll']
print(glob.glob(r' ./ * . *') )
이 레벨 모든 파일
print(glob.glob("./*.*"))
['.\\LICENSE.txt', '.\\NEWS.txt', '.\\python.exe', '.\\python3.dll', '.\\python38.dll', '.\\pythonw.exe', '.\\vcruntime140.dll']
print(glob.glob(r' ./ * . *') )
이 레벨 모든 dll
>>> print(glob.glob("./*.dll"))
['.\\python3.dll', '.\\python38.dll', '.\\vcruntime140.dll']
print(glob.glob(r' C:/ * ') )
CD 모든 디렉토리
>>> print(glob.glob("C:/*"))
['C:/$360Section', 'C:/$Recycle.Bin', 'C:/360SANDBOX', 'C:/Boot', 'C:/bootmgr'.......]
print(glob.glob(“C:/[PB][RO]”) )
C디스크에 pr/po/br/bo가 포함된 모든 디렉토리
print(glob.glob("C:/*[PB][RO]*"))
['C:/360SANDBOX', 'C:/Boot', 'C:/bootmgr', 'C:/BOOTNXT', 'C:/BOOTSECT.BAK', 'C:/PO', 'C:/Program Files', 'C:/Program Files (x86)', 'C:/ProgramData']
print(glob.glob(“C:/p?O”) )
CD 모두에 P_ 포함o 디렉토리
>>> print(glob.glob("C:/*P?O*"))
['C:/Program Files', 'C:/Program Files (x86)', 'C:/ProgramData']
print(glob.glob(“C://.txt”) )
C디스크 2단계 디렉터리의 모든 txt
>>> print(glob.glob("C:/*/*.txt"))
['C:/xiaoyi\\ .txt']
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.만약 잘못이 있거나 완전한 부분을 고려하지 않으신다면 아낌없이 가르침을 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.