我只想要以.jpg或.pdf结尾的文件名。如何限制文件名搜索?
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 :(得分:5)
import fnmatch
import os
for file in os.listdir('.'):
if fnmatch.fnmatch(file, '*.txt'):
print file
fnmatch比其他方法更好,因为它假设unix像通配符一样,包括:
* =匹配所有内容
?=匹配任何单个字符
[seq] =匹配seq中的任何字符
[!seq] =匹配不在seq中的任何字符
答案 1 :(得分:4)
怎么样:
for filename in filenames:
if not filename.endswith('.jpg'):
continue
答案 2 :(得分:0)
如果你想要一个最后所有文件的列表,你可以做这样的事情
filelist = []
for root, dirs, files in os.walk('.'):
filelist = filelist + [os.path.join(x,root) for x in files if x.endswith(('.jpg','.pdf'))]