如何从文件中提取图像并使用python将它们放入列表中

时间:2017-04-19 08:09:49

标签: python python-2.7

我想创建一个函数,在输入中我放置文件名并作为输出我获取列表中的所有图像。 在这个文件中我有各种文件(文字,图像,视频......),所有图像都有不同的扩展名。 我写了这段代码,它似乎无法正常工作

def readFileImages(strFolderName):
    print strFolderName
    image_list = []
    st=strFolderName+"*.png"
    for filename in glob.glob(st): #assuming gif
        image_list.append(filename)
    return image_list

1 个答案:

答案 0 :(得分:2)

您需要确保拥有路径分隔符。最好使用os.path.join()为您添加:

import glob    
import os

def readFileImages(strFolderName):
    print strFolderName
    image_list = []
    st = os.path.join(strFolderName, "*.gif")

    for filename in glob.glob(st): #assuming gif
        image_list.append(filename)

    return image_list    

print readFileImages(os.getcwd())   # Use current working directory as example

注意,glob.glob()已经返回一个列表,因此以下内容将是等效的:

import glob 
import os   

def readFileImages(strFolderName):
    st = os.path.join(strFolderName, "*.gif")
    return glob.glob(st)

print readFileImages(os.getcwd())    

os.path.join()更好的原因是,如果strFolderName不包含尾部分隔符,则会添加它。如果它有一个,则不会添加额外的一个。此外,如果您在不同的操作员系统上运行脚本,则会自动使用正确的分隔符。您可以看到print os.path.sep

将使用哪一个