我使用 os.path 从目录生成文件列表。我正在通过 Tkinter 从中生成一个照片库。然而排序是完全随机的。我没有看到目录中显示的照片顺序背后有更大的逻辑。当我打印列表时,它也是随机的。
如何更改列表的顺序,按文件名或修改日期从该片段中出来?
image_list = [os.path.join("/home/pi/fotos/previews",fn) for fn in next(os.walk("/home/pi/fotos/previews"))[2]]
按名称排序
您可以使用内置函数排序。
Example:
image_list = [os.path.join("/home/pi/fotos/previews",fn) for fn in next(os.walk("/home/pi/fotos/previews"))[2]]
sorted_list = sorted(image_list, key=str.swapcase)
按上次修改日期排序
您可以使用 os.stat(filename).st_mtime 来查看文件的上次修改时间。
Example:
folder_path = "/home/pi/fotos/previews"
unsorted_list = [file_name for file_name in next(os.walk(folder_path))[2]]
sorted_list = unsorted_list.sort(key=lambda file_name: os.stat(os.path.join(folder_path,file_name)).st_mtime)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)