我有一个包含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)