0

我正在尝试将最近导入的 5 张图片的列表放入一个文件夹中,以将其输入到将它们加载到联系表中的函数中。

我有一个程序引入文件,它使用计数器将它们命名为 00001、00002 等......我在想类似的东西

while blah:
N = '0000'x
x = x+1

但是当你超过 10 时,它就会崩溃,因为现在是 00010。

我觉得我应该能够弄清楚这一点,但它完全在逃避我。

另一方面,如果我可以让程序将 X 最新文件加载到函数中,那也会很好用。

图像名称通过此公式运行。

 imgs = [Image.open(fn).resize((photow,photoh)) for fn in fnames]

所以我认为它们需要采用格式('00001.jpg','00002.jpg','00003.jpg'.....)

感谢帮助。

4

2 回答 2

2
>>> '{:05}'.format(10)
00010

至于基于此编号对文件进行排序:

import os

# List all files in current directory
files = os.listdir('.')
recent_images = sorted(files)[-5:]
于 2013-11-10T21:38:10.850 回答
1

另一方面,如果我可以让程序将 X 最新文件加载到函数中,那也会很好用。

您可以使用os.path.getmtimeandsorted获取最近更改文件的列表:

>>> import os
>>> sorted(filenames, key=lambda x:os.path.getmtime(x), reverse=True)[:5]

相关:如何在 Python 中获取文件创建和修改日期/时间?

于 2013-11-10T21:42:18.027 回答