相关疑难解决方法(0)

按升序对目录中的文件名进行排序

我有一个包含jpgs和其他文件的目录,jpgs都有包含数字的文件名.有些文件名可能包含其他字符串.

例如.

01.jpg
Run Code Online (Sandbox Code Playgroud)

或者可能是

Picture 03.jpg
Run Code Online (Sandbox Code Playgroud)

在Python中,我需要按升序排列所有jpgs的列表.以下是此代码段

import os
import numpy as np

myimages = [] #list of image filenames
dirFiles = os.listdir('.') #list of directory files
dirFiles.sort() #good initial sort but doesnt sort numerically very well
sorted(dirFiles) #sort numerically in ascending order

for files in dirFiles: #filter out all non jpgs
    if '.jpg' in files:
        myimages.append(files)
print len(myimages)
print myimages
Run Code Online (Sandbox Code Playgroud)

我得到的就是这个

['0.jpg', '1.jpg', '10.jpg', '11.jpg', '12.jpg', '13.jpg', '14.jpg',
 '15.jpg', '16.jpg', '17.jpg', '18.jpg', '19.jpg', '2.jpg', '20.jpg',
 '21.jpg', '22.jpg', '23.jpg', '24.jpg', …
Run Code Online (Sandbox Code Playgroud)

python sorting

18
推荐指数
3
解决办法
5万
查看次数

标签 统计

python ×1

sorting ×1