我在Python3中有一个像这样的图像数组。..
images = [
"/var/www/html/myfolder/images/1.jpg",
"/var/www/html/myfolder/images/441.jpg",
"/var/www/html/myfolder/images/15.jpg",
"/var/www/html/myfolder/images/78.jpg",
]
而不是像这样指定图像,我想传递一个绝对路径,并让python创建我的图像列表。jpg图像在该路径中。
我的最佳方法是什么?
7条答案
按热度按时间ohtdti5x1#
你可以使用glob。
glob.glob(pathname, *.jpg, recursive=False)
返回一个可能为空的路径名列表,该列表中的路径名必须是包含路径规范的字符串。路径名可以是绝对路径(如/usr/src/Python-1。5/Makefile)或相对的(像。./../Tools//.gif),并且可以包含shell样式的通配符。断开的符号链接将包含在结果中(与shell中一样)。
后面跟着操作系统。sep,只有目录和子目录匹配。
假设你的abs路径是
myfolder
https://docs.python.org/3/library/glob.html#glob.glob
bvk5enib2#
Python 3中的
pathlib
模块使这变得简单:想要所有的jpg图像递归地在那个目录下吗?使用
.glob("*/**.jpg")
。请注意,这是在创建Path对象的数组。如果你想要字符串,只需转换它们:
sulc1iza3#
如果您指定了路径,则有多种方法可以查找该目录中的所有文件。一旦你有了这个列表,你就可以简单地遍历它并创建图像。
参见:How do I list all files of a directory?
一个很好的方法是使用操作系统。listdir*:
kgsdhlau4#
只扫描顶层
若要递归扫描,请将最后一行替换为
ddarikpa5#
图像列表:
dphi5xsq6#
.suffix
、.stem
)。pathlib
还具有:.glob
内置.open
方法(e.g.Path.open(mode='r')
)编码:
wvt8vs2t7#
imutils包中已经存在解决方案