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