python - 在文件名中保存视频文件的时间和日期
问题描述
预期行为
- 自动运行程序以短时间录制视频。
- 将视频保存到特定目录中的唯一文件名(以避免覆盖)。理想情况下,此文件名应包含日期和时间。
实际行为
- 成功
- 文件名始终为
video.h264
.
我已经尝试了我在网上找到的各种东西,但它们只会导致文件名显示部分代码。令人讨厌的是它工作了一次,但将它保存到了我没想到的地方,我在意识到它有效之前更改了代码!
完整文件
# Import Libraries
import os #Gives Python access to Linux commands
import time #Proves time related commands
import RPi.GPIO as GPIO #Gives Python access to the GPIO pins
GPIO.setmode(GPIO.BCM) #Set the GPIO pin naming mode
GPIO.setwarnings(False) #Supress warnings
# Set GPIO pins 18 as output pin
LEDReady = 18 #Red
GPIO.setup(LEDReady,GPIO.OUT)
GPIO.output (LEDReady,GPIO.HIGH)
from subprocess import call
call(["raspivid", "-o", "video.h264", "-t", "50000n"])
time.sleep(10) #Sleep for 10 seconds
GPIO.output (LEDReady,GPIO.LOW)
添加DATE=$(date +"%Y-%m-%d_%H%M")
和更改video.h264
to$DATE.h264
会导致 $DATE 出现语法错误。
诱人的是,我有一个名为 20180308_021941.h264 的文件,这正是我所追求的,但我无法告诉你我是如何管理它的!
PS 红色 LED 亮起是为了让我知道 Raspberry Pi 是否已正常启动并运行 Python 脚本。
感谢您不厌其烦地阅读本文。
解决方案
尝试添加这个
from datetime import datetime
date = datetime.now().strftime("%Y%m%d%H:%M:%S")
然后把你的电话改成这个
videoFile = date + ".h264"
call(["raspivid", "-o", videoFile, "-t", "50000n"])
推荐阅读
- java - 重命名包含 Java 内容的目录的最简单方法是什么?
- kotlin - Vaadin 12,javaScript:java.lang.IllegalArgumentException:无法将类 java.util.HashMap 编码为 json
- android - 获取 Xamarin Android Designer 以使用工具箱
- ruby-on-rails - 如何交换嵌套数组中的变量?
- javascript - javascript中使用json文件的幻灯片问题
- javascript - document.write 的失败代码 + 用于函数递归形式
- javascript - Get a random integer between two given values that is seedable
- android - 如何将项目的包名称从 2 个子目录更改为 3 个。例如:“com.package”到“com.package.name”
- python - 如何使用 PySide 访问和编辑 svg 节点?
- php - 使用 $SQL 输出循环遍历数组值