2017-12-15 28 views
2

glob를 사용하여이 코드 줄을 사용하여 홈 디렉토리의 모든 파이썬 파일을 나열합니다. py 파일과 함께 모든 .json 파일을 찾고 싶지만 한 줄의 코드에서 여러 파일 형식을 검색 할 수 없습니다.glob에 여러 파일 확장명을 사용하여 파일 찾기

for file in glob.glob('/home/mohan/**/*.py', recursive=True): 
    print(file) 
+2

나는 https://stackoverflow.com/questions/4568580/python-glob-multiple-filetypes의 잘 속는 사람으로이 폐쇄하지만, 재개했습니다. 이 경우 디렉토리를 한 번 이상 검사하므로 glob를 피해야한다고 생각합니다. 파일 목록과 체크 패턴을 더 잘 계산하십시오. –

+3

'os.walk()'을 사용하고 파일 이름별로 필터링하십시오. 'glob.glob()'는 다중 패턴을 지원하지 않습니다. – zwer

답변

3

서브 디렉토리를 찾는 os.walk을 사용할 수도 있습니다.

import os 

for root, dirs, files in os.walk("path/to/directory"): 
    for file in files: 
     if file.endswith((".py", ".json")): # The arg can be a tuple of suffixes to look for 
      print(os.path.join(root, file))