image_paths = sorted(list(Path("images").glob("*/*.jpg")))
在Python中,这段代码的作用是按照字典序对位于 "images" 目录及其所有子目录中的所有 .jpg 图像文件进行排序并存储它们的路径。
具体步骤如下:
首先,创建一个 Path("images") 对象,它代表了名为 "images" 的目录。
使用 glob("*/*.jpg") 方法在这个 "images" 目录及其所有子目录下查找匹配模式 "*/*.jpg" 的所有文件。这里通配符 * 表示任意数量的任意字符,所以 "*/*.jpg" 匹配所有子目录下的 .jpg 文件。(必须在images目录下在新建文件夹,把图片放在新建的文件夹下)
list() 函数将 glob() 返回的迭代器转换为一个列表,这样我们就可以对这些路径进行操作。
sorted() 函数对这个包含所有 .jpg 图像文件路径的列表进行排序。
最终,image_paths 变量将保存一个按名称排序后的 Path 对象列表,每个对象都代表一个 ".jpg" 图像文件的完整路径。
image_paths = sorted(list(Path("/home/hisense/haiguan/malinjie/unilm/layoutlmv3/images").glob("*/*.jpg")))
print(image_paths)
#[PosixPath('/home/hisense/haiguan/malinjie/unilm/layoutlmv3/images/1/PHOTO_20231213_111022954.jpg'),PosixPath('/home/hisense/haiguan/malinjie/unilm/layoutlmv3/images/2/PHOTO_20231213_111023014.jpg')]
json_path = image_paths[0].with_suffix(".json")
print(json_path)
#/home/hisense/haiguan/malinjie/unilm/layoutlmv3/images/cash_flow/PHOTO_20231213_111023014.json
image = Image.open(image_paths[0]).convert("RGB")
width, height = image.size
print(width, height)
# 1280 1706
image_path.parent.name再python中代表什么意思
?
在Python中,如果你有一个Path对象表示一个图像文件的完整路径,并且你调用了它的.parent属性,接着又调用了.name属性,那么这意味着:
image_path = Path("path/to/some/image.jpg")
parent_dir_name = image_path.parent.name
这段代码会首先获取image.jpg所在的父目录的路径,然后从这个父目录路径中提取出父目录的名字。
例如,如果image_path是/home/user/pictures/image.jpg,则:?
image_path.parent 将返回 /home/user/pictures。
image_path.parent.name 将返回 pictures。
所以,image_path.parent.name 表示的是图像文件所在目录的名字。?