파이썬 글롭의 비밀

6426 단어 pythonglobtutorial

일반 Glob 문자열 표




글로브
정의
예제 글로브
유효한 파일
유효하지


*
0개 이상의 문자와 일치
*.jpg
[im1.jpg,고양이.jpg]
고양이.JPG, 개.png

?
정확히 1개의 문자와 일치
?_at.jpg
박쥐.jpg,고양이.jpg
hhat.jpg

**
재귀 검색
/*/.jpg
[홈/imgs/1.jpg,imgs/im.jpg]
파일.jpg

!()
() 안의 문자와 일치하지 않습니다.
!(ㅏ)
[바위.jpg,쉘.txt]
cat.txt

[]
[]의 문자 범위와 일치
[광고]-img/*.txt
[a-img.txt,d-img.txt]
c-file.txt

*()
() 안에 있는 0개 이상의 문자와 일치
"*(.jpg)"
[파일.jpg,블롭.jpg,k.jpg]
파일.png


글로브를 테스트하는 대화형 도구



샘플 파일 경로로 glob 문자열을 테스트할 수 있는 기능Glob Tool을 발견했습니다. 원하는 파일을 찾을 수 있다고 생각되는 문자열 glob을 입력한 다음 Test Strings 상자에 파일 경로를 입력하면 파일을 찾을 수 있는지 표시됩니다. 이것은 glob을 배우고 컴퓨터에서 테스트하는 시간을 절약할 수 있는 좋은 방법입니다.


폴더에 있는 모든 jpeg의 전체 경로를 가져옵니다.



glob을 사용하여 폴더에 있는 모든 jpg의 전체 경로를 가져옵니다.

TDLR




# Windows paths use \ so use \\ instead
images=glob.glob("C:\\Python\\images\\*.jpg")
# Returns 
#["C:\\Python\\images\\img.jpg","C:\\Python\\images\\img2.jpg"]


전체 코드




import glob
import os 
images_path=os.getcwd() + os.sep+"images"
# C:\\Python\\images\\
glob_str=images_path+"*jpg"
# C:\\Python\\images\\*jpg
full_images_paths=glob.glob(glob_str)
# On Windows Returns 
#["C:\\Python\\images\\img.jpg","C:\\Python\\images\\img2.jpg"]


폴더에 있는 파일 이름만 가져오기



glob1 으로 폴더에 있는 모든 jpg의 이름만 가져옵니다. glob1는 검색하려는 파일 경로와 전달한 glob 문자열이라는 두 개의 인수를 사용합니다.glob.glob1("file_path_to_search","pattern")

TDLR




# Windows paths use \ so use \\ instead
images=glob.glob1("C:\\Python\\images\\","*.jpg")
# This also works:
images=glob.glob1("C:\\Python\\images","*.jpg")
# Returns 
#["img.jpg","img2.jpg"]


전체 코드




import glob
import os 
images_path=os.getcwd() + os.sep+"images"
# C:\\Python\\images\\
full_images_paths=glob.glob(images_path,"*jpg")
# On Windows Returns 
#["img.jpg","img2.jpg"]


깊이 글로브 테이블




글로브
정의
예제 글로브
유효한 파일
유효하지
설명


*
0개 이상의 문자와 일치함 CASE SENSITIVE
*.jpg
[im1.jpg,고양이.jpg]
고양이.JPG, 개.png
나머지 문자열은 일치해야 합니다.

?
정확히 1개의 문자와 일치
?_at.jpg
박쥐.jpg,고양이.jpg
hhat.jpg
_at 앞의 1자만

**
재귀 검색
/*/.jpg
[홈/폴더/img.jpg,폴더/im.jpg]
파일.jpg
상위 디렉토리 없이는 불가능

!()
() 안의 문자와 일치하지 않습니다.
!(ㅏ)
[바위.jpg,쉘.txt]
cat.txt
A는 문자열에 포함될 수 없습니다.

[]
[]의 문자 범위와 일치 CASE SENSITIVE
[광고]-파일/*.txt
[a-파일.txt,d-파일.txt]
c-file.txt
c는 [ad]에 없으므로 일치하지 않습니다.

*()
() 안에 있는 0개 이상의 문자와 일치
"*(.jpg)"
[파일.jpg,블롭.jpg,k.jpg]
파일.png
.jpg로 끝나는 모든 이름의 파일

좋은 웹페이지 즐겨찾기