2012-12-14 2 views
1

나는 .jpg 또는 .pdf로 끝나는 파일 이름 만 원한다. 파일 이름 검색을 어떻게 제한합니까?os.walk .jpg 만

import os 
from subprocess import call 

for dirname, dirnames, filenames in os.walk('.'): 
    for filename in filenames: 
     jpg = os.path.join(dirname, filename) 
     call(["./curl_recognize.sh", jpg, jpg+".txt", "-f txt"]) 
+0

의 모든 문자와 일치 아마도 bash 나 뭔가에서'-exec'와 함께'find'를 사용할 것입니다 –

답변

4

에 대해 어떻게 : 당신이 마지막에 모든 파일의 목록을 원하는 경우이

filelist = [] 
for root, dirs, files in os.walk('.'): 
    filelist = filelist + [os.path.join(x,root) for x in files if x.endswith(('.jpg','.pdf'))] 
0

다른 것보다 낫다 방법은 유닉스와 같은 유닉스를 가정하기 때문에 다음을 포함한다 :

는 * = 모두에게

일치? = 단일 문자를 일치

[서열] = 서열에서 모든 문자

[! 서열을]과 일치하지 서열 또 다른 옵션은

4
import fnmatch 
import os 

for file in os.listdir('.'): 
    if fnmatch.fnmatch(file, '*.txt'): 
     print file 

으로 fnmatch처럼 뭔가를 할 수

for filename in filenames: 
    if not filename.endswith('.jpg'): 
    continue