首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅限os.walk .jpg

仅限os.walk .jpg
EN

Stack Overflow用户
提问于 2012-12-14 11:59:30
回答 3查看 2.4K关注 0票数 1

我只想要以.jpg或.pdf结尾的文件名。如何限制文件名搜索?

代码语言:javascript
复制
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"])
EN

回答 3

Stack Overflow用户

发布于 2012-12-14 12:48:39

代码语言:javascript
复制
import fnmatch
import os

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

fnmatch比其他方法更好,因为它假设unix类似于通配符,包括:

*=匹配所有内容

?=可以匹配任何单个字符

seq=匹配seq中的任何字符

!seq=匹配不在序列中的任何字符

票数 5
EN

Stack Overflow用户

发布于 2012-12-14 12:01:57

这样如何:

代码语言:javascript
复制
for filename in filenames:
  if not filename.endswith('.jpg'):
    continue
票数 4
EN

Stack Overflow用户

发布于 2012-12-14 12:20:45

如果你想要所有文件的列表,你可以这样做

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13872441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档