树莓派Python编程:实现每次运行生成唯一子文件夹存延时摄影图
实现按日期生成唯一子文件夹存储延时摄影图片
当然可以,只需借助Python的os模块创建子文件夹,再把图片路径指向这个新文件夹即可,具体操作如下:
- 导入
os模块用于文件夹操作,配合已有的datetime、time模块使用 - 生成包含精确时间的文件夹名称(用横杠代替冒号,避免Linux文件名非法字符问题)
- 拼接完整的文件夹路径,检查并创建该文件夹(不存在则创建)
- 修改相机拍摄路径,将图片存入新建的子文件夹
完整代码示例:
import os import datetime from time import sleep # 假设camera对象已完成初始化 # 生成唯一日期格式的文件夹名(精确到秒,确保每次运行都唯一) folder_name = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S") # 拼接完整文件夹路径 folder_path = os.path.join('/home/pi/Pictures', folder_name) # 创建文件夹,exist_ok=True避免重复运行时报错 os.makedirs(folder_path, exist_ok=True) # 循环拍摄并保存到子文件夹 numphotos = 10 # 示例拍摄数量 secondsinterval = 5 # 示例间隔时间 for i in range(numphotos): # 拼接图片路径:文件夹路径 + 序号命名的图片 img_path = os.path.join(folder_path, f'image{i:06d}.jpg') camera.capture(img_path) sleep(secondsinterval)
关键细节说明:
- 用
os.path.join()拼接路径比直接字符串相加更稳妥,能自动适配不同系统的路径分隔符 - 文件夹名精确到秒(
%S),确保每次运行代码都会生成全新的子文件夹,不会重复 os.makedirs()的exist_ok=True参数可以避免因文件夹已存在而抛出异常,适合开机自动运行的场景
内容的提问来源于stack exchange,提问作者Andrew Miller
相关产品推荐
相关产品推荐

