如何在python中减少文件名?

时间:2016-05-11 05:24:12

标签: python windows image

我有一个带有网络摄像头图像的目录,这些图像不断递增。我想使用python脚本来获取最新的10个图像。目前我有以下代码来获取最新的图像。我想减少文件名并获取最新的10张图像,并将它们命名为image_current1.jpg至image_current10.jpg。

import os
import glob

from PIL import Image
from shutil import copyfile

# variables 
rawFileDir = 'C:\pictures\image00*.jpg'
mriFileName = 'C:\pictures\image_current1.jpg'

# obtain and copy most recent image
mostRecentImage = max(glob.iglob(rawFileDir), key=os.path.getctime)
copyfile(mostRecentImage,mriFileName)

2 个答案:

答案 0 :(得分:1)

您可以使用glob.iglob(rawFileDir)中的排序列表:

import os
import glob

from PIL import Image
from shutil import copyfile

# variables 
rawFileDir = 'E:\Test\image00*.jpg'
mriFileName = 'E:\Test\image_current'

# obtain and copy most recent image
mostRecentImage = sorted(glob.iglob(rawFileDir), key=os.path.getctime)
for num, i in enumerate(mostRecentImage[:~10:-1]):
    exec('copyfile(i, mriFileName + str({}) + ".jpg")'.format(num + 1))

image_current1.jpg将是最新的文件。

答案 1 :(得分:0)

这将提供所需文件名(例如image_current01.jpg)和目标文件的字典。

{'image_current' + str(n).zfill(1): filename 
 for n, filename in enumerate(sorted((os.path.getctime(f), f) 
 for f in glob.glob('*.jpg'))[-10::][::-1])}