python获取文件夹中的图片的路径

/home/zyy/汽车/卡槽这个文件夹下有一个图片1.jpg和一个231.txt还有一些其他文件/home/zyy/汽车/山地这个文件夹下同样有个图片1.jpg和一些其... /home/zyy/汽车/卡槽这个文件夹下有一个图片1.jpg和一个231.txt还有一些其他文件 /home/zyy/汽车/山地这个文件夹下同样有个图片1.jpg和一些其他文件 如何用python获取/home/zyy/汽车这个文件夹以及子文件(卡槽,山地等)的所有图片的路径 展开
 我来答
wenjie1024
2017-10-14 · TA获得超过2381个赞
知道大有可为答主
回答量:1737
采纳率:72%
帮助的人:856万
展开全部
Python 3.6.1 (default, Mar 22 2017, 06:17:05) 
[GCC 6.3.0 20170321] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> def isimage(fn):
...     return os.path.splitext(fn)[-1] in ('.jpg', '.JPG', '.png', '.PNG')
... 
>>> isimage('abs.jpg')
True
>>> isimage('abc.txt')
False
>>> dirpath = '/home/zyy/汽车/卡槽'
>>> for r, ds, fs in os.walk(dirpath):
...     for fn in fs:
...             if not isimage(fn):
...                     continue
...             fname = os.path.join(r, fn)
...             print(fname)
...
更多追问追答
追问
厉害大神  如何把这个fname输出保存在txt文档里呢
追答
#!/usr/bin/env python3
import os


dirpath = '/home/zyy/汽车/卡槽'
targetfile = 'imagepath.txt'


def isimage(fn):
    return os.path.splitext(fn)[-1] in (
        '.jpg', '.JPG', '.png', '.PNG')

        
def main():
    imagelist = []
    for r, ds, fs in os.walk(dirpath):
        for fn in fs:
            if not isimage(fn):
                continue
            fname = os.path.join(r, fn)
            print(fname)
            imagelist.append(fname)
    if not imagelist:
        print('image not found')
        return
    target = os.path.join(dirpath, targetfile)
    with open(target, 'w') as f:
        f.write('\n'.join(imagelist))
    print('the path of images have been wirte to', 
        target)
        
        
if __name__ == '__main__':
    main()
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式