[PYTHON] 와일드 카드를 사용하여 파일 검색
PYTHON와일드 카드를 사용하여 파일 검색
와일드 카드로 검색 패턴을 가진 파일 이름 목록을 얻고 싶습니다. 처럼:
getFilenames.py c:\PathToFolder\*
getFilenames.py c:\PathToFolder\FileType*.txt
getFilenames.py c:\PathToFolder\FileTypeA.txt
어떻게해야합니까?
해결법
-
==============================
1.이렇게 :
이렇게 :
>>> import glob >>> glob.glob('./[0-9].*') ['./1.gif', './2.txt'] >>> glob.glob('*.gif') ['1.gif', 'card.gif'] >>> glob.glob('?.gif') ['1.gif']
이것은 바로 여기에서옵니다 : http://docs.python.org/library/glob.html
-
==============================
2.glob는 파이썬 안에서이 일을하는 경우에 유용하지만 쉘이 * (나는 윈도우 쉘에 익숙하지 않다)에서 전달하지 않을 수도있다.
glob는 파이썬 안에서이 일을하는 경우에 유용하지만 쉘이 * (나는 윈도우 쉘에 익숙하지 않다)에서 전달하지 않을 수도있다.
예를 들어, 다음과 같이하면 :
import sys print sys.argv
내 셸에 입력 한 :
$ python test.py *.jpg
나는 이것을 얻는다 :
['test.py', 'test.jpg', 'wasp.jpg']
argv에는 "* .jpg"가 포함되지 않습니다.
여기서 중요한 교훈은 대부분의 셸이 응용 프로그램에 전달되기 전에 셸에서 별표를 확장한다는 것입니다.
이 경우 파일 목록을 얻으려면 sys.argv [1 :]를 사용합니다. 또는 파이썬이 리터럴 *을 볼 수 있도록 *를 이스케이프 할 수도 있습니다. 그런 다음 glob 모듈을 사용할 수 있습니다.
$ getFileNames.py "*.jpg"
또는
$ getFileNames.py \*.jpg
-
==============================
3.
from glob import glob import sys files = glob(sys.argv[1])
-
==============================
4.스크립트를 여러 쉘에서 사용할 수 있고 *를 사용하여 여러 매개 변수로 작업 할 때 매우 유용하다는 것을 알았 기 때문에 이전에 추가했습니다.
스크립트를 여러 쉘에서 사용할 수 있고 *를 사용하여 여러 매개 변수로 작업 할 때 매우 유용하다는 것을 알았 기 때문에 이전에 추가했습니다.
모든 쉘에서 작동하는 무언가를 원하면 다음을 수행 할 수 있습니다 (여전히 glob을 사용합니다).
>>> import glob >>> from functools import reduce # if using python 3+ >>> reduce(lambda r, x: r + glob.glob(x), sys.argv[1:], [])
그것은 중복을 생성 할 수 있습니다 (테스트 파일을 가지고 있고 t *와 te *를 제공한다면), 집합을 사용하여 간단히 제거 할 수 있습니다 :
>>> set(reduce(lambda r, x: r + glob.glob(x), sys.argv[1:], []))
from https://stackoverflow.com/questions/3348753/search-for-a-file-using-a-wildcard by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 루프 및 반복자 동작을위한 Python (0) | 2018.11.04 |
---|---|
[PYTHON] 장고 휴식 프레임 워크는 많은 분야에서 많은 serialize (0) | 2018.11.04 |
[PYTHON] Python은 일치하는 내용으로 다시 대체합니다. (0) | 2018.11.04 |
[PYTHON] ticklabels과 matplotlib의 축 사이에 공백을 어떻게 추가합니까? (0) | 2018.11.04 |
[PYTHON] 조건이 충족되면 울퉁불퉁 한 요소 교체하기 (0) | 2018.11.04 |