如何在Python中更改图片的名称

时间:2019-03-19 17:30:31

标签: python raspberry-pi

此刻,我在Raspberry上使用python。我的目标是将树莓派从PiCamera拍摄的图片以不同的名称保存在桌面上。 范例: 拍摄照片并将其作为image1保存。下一张图片应与image2一样安全(不要使用连续拍摄5张照片的循环。

这是我目前使用的代码:

import time                                                             
from picamera import PiCamera                                           


cam = PiCamera()                                                         
fname = (time.strftime("%Y-%b-%d_%H:%M:%S"))                            

cam.resolution = (1920, 1080)                                           
cam.framerate = 30                                                  

cam.capture('/home/pi/Desktop/image' + str(fname) +'.jpg')      

1 个答案:

答案 0 :(得分:1)

假设完全按照此顺序创建了image1.jpgimage2.jpgimage3.jpg等,您可以通过以下方式获得最新的名称(即具有最大编号):

import os
os.chdir('/home/pi/Desktop/image')
images = [i for i in os.listdir(os.getcwd()) if i.lower().startswith('image')]
if images:
    newest = max(images,key=os.path.getmtime)
else:
    newest = 'image0.jpg'

如果根本没有图像,则将newest设置为image0.jpg字符串(但是我不创建这样的文件)。然后我们需要从该名称中提取数字,例如,可以通过以下方式完成此操作:

number = int(''.join([i for i in newest if i.isdigit()]))

上一行假定所有image名称正确,并遵循以下模式:image_.jpg,其中_是数字。最后,我们可以为新图像创建名称:

newimagen = 'image'+str(number+1)+'.jpg'

现在,您可以在capture方法参数中使用它:

'/home/pi/Desktop/'+newimagen