首页 > 解决方案 > 使用相对路径获取python中的所有png文件

问题描述

尝试检索不同子文件夹中 png 的所有路径。

所有子文件夹都位于一个主文件夹 - 日志中。

pngs = []

for idx, device in enumerate(udid):
    pngs += glob.glob(os.getcwd() + "/logs/" + device + "_" + get_model_of_android_phone(device) + "/" + "*.png")

文件结构

日志/ 123456789_SM-G920I / 123456789google_search_android .png

粗体的值会改变。我在 *.png 中添加了用于更改 png 的内容。

但是,当我没有 png 文件的绝对路径时,如何获取 png 的路径?

更新

get_model_of_android_phone(device) 是一种在这里获取以下值的方法。

例如 123456789_SM-G920I

我正在考虑删除它,因为它并没有真正按预期工作。想用 * 之类的方法替换该方法

标签: python

解决方案


您可以使用以下简化方式获取所有文件名:

for name in glob.glob(os.getcwd() + "/logs/**/*.png", recursive=True):
    print '\t', name

当设置了递归时,** 将匹配 0 个或多个子目录,并且后跟一个分隔符。

如果您只想制作列表,请使用以下代码片段:

pngs = glob.glob(os.getcwd() + "/logs/**/*.png", recursive=True)

它将返回所有 png 文件路径的列表。

参考:https ://docs.python.org/3/library/glob.html


推荐阅读