小编Pra*_*ani的帖子

如何在 Python 中自然排序 Pathlib 对象?

我正在尝试在目录中创建一个排序的文件列表./pages。这是我到目前为止所拥有的:

import numpy as np
from PIL import Image
import glob
from pathlib import Path


# sorted( l, key=lambda a: int(a.split("-")[1]) )
image_list = []

for filename in Path('./pages').glob('*.jpg'):
#     sorted( i, key=lambda a: int(a.split("_")[1]) )
#     im=Image.open(filename)
    image_list.append(filename)

print(*image_list, sep = "\n")

Run Code Online (Sandbox Code Playgroud)

电流输出:

pages/page_1.jpg  
pages/page_10.jpg  
pages/page_11.jpg  
pages/page_12.jpg  
pages/page_2.jpg  
pages/page_3.jpg  
pages/page_4.jpg  
pages/page_5.jpg  
pages/page_6.jpg  
pages/page_7.jpg  
pages/page_8.jpg  
pages/page_9.jpg  
Run Code Online (Sandbox Code Playgroud)

预期输出:

pages/page_1.jpg   
pages/page_2.jpg  
pages/page_3.jpg  
pages/page_4.jpg  
pages/page_5.jpg  
pages/page_6.jpg  
pages/page_7.jpg  
pages/page_8.jpg  
pages/page_9.jpg  
pages/page_10.jpg  
pages/page_11.jpg  
pages/page_12.jpg
Run Code Online (Sandbox Code Playgroud)

我已经尝试了重复中找到的解决方案,但它们不起作用,因为 pathlib 文件是类对象,而不是字符串。当我打印它们时,它们仅显示为文件名。

例如:

print(filename) # pages/page_1.jpg  
print(type(filename)) …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pathlib

13
推荐指数
3
解决办法
1万
查看次数

标签 统计

pathlib ×1

python ×1

python-3.x ×1