如何通过Python的natsort对以数字结尾的文件(png0到png188)进行 "自然排序"?

问题描述 投票:0回答:1

我有一个文件夹,里面有pngs的图,比如地震0、地震1、地震2等等。这些照片通过moviepy转换为GIF,但是Python的排序结果是1,10,100而不是1,2,3。

下面是moviepy的代码

import os
os.chdir(r'path')
from moviepy.editor import *

image_list = 'exports' # folder 
my_clip = ImageSequenceClip(image_list, fps=0.75)
my_clip.write_gif('eqph_gif.gif')

我曾试过添加 这个 但Python说它找不到文件夹。

image_list = natsort.natsorted(image_list)
python sorting gif moviepy natsort
1个回答
0
投票

解决了!

def gif():
    os.chdir(r'C:\Users\imper\Documents\new_GISfiles\earthquakesPH\exports')
    imgs = humansorted(os.listdir('.'))
    my_clip = ImageSequenceClip(imgs, fps=1.5)
    my_clip.write_videofile('eqph.mp4', fps=15)

rlearnpython的人指出,即使我已经设置了工作目录os.chdir(r'path'),我也不能只写imgs = 'exports'。https:/www.reddit.comrlearnpythoncommentsguabw3the_humansorted_function_work_when_ran_in_the

© www.soinside.com 2019 - 2024. All rights reserved.