【发布时间】:2021-01-25 15:51:03
【问题描述】:
我正在尝试获取目录中所有文件的顺序,因此我尝试使用 sorted() 函数对分别命名为folder/frame0.jpg 的每个文件的数值进行排序。问题是我得到的输出看起来像这样
yourlieinapril1/frame1094.jpg
yourlieinapril1/frame1095.jpg
yourlieinapril1/frame1096.jpg
yourlieinapril1/frame1097.jpg
yourlieinapril1/frame1098.jpg
yourlieinapril1/frame1099.jpg
yourlieinapril1/frame1100.jpg
yourlieinapril1/frame110.jpg
yourlieinapril1/frame1101.jpg
当它遍历一个基数为 10 的数字时,列表会返回一个较小的数字 我尝试使用以下代码修复它,但它仍然无法正常工作
def animate(folder):
l = list()
a = list()
for filename in os.listdir(folder):
path = (os.path.join(folder, filename))
if path.endswith('jpg'):
num = ''
for i in range(len(path)):
try:
p = int(path[i])
num += str(path[i])
except:
pass
try:
check = a[len(a) - 1]
if len(check) > len(num):
if num != '0':
num += ('0')
path = folder + '/frame' + num + '.jpg'
except:
pass
a.append(num)
l.append(path)
f = sorted(l)
f = list(dict.fromkeys(f))
有人知道我应该怎么做吗?
【问题讨论】:
标签: python sorting directory filesystems