不正确地创建带时间戳的文件名

2024-04-20 09:21:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个raspberry pi和一个python脚本从一个连接到pi的摄像头中捕获图像。我有一个任务调度器来调用脚本,脚本会进行一个命令行调用,与摄像机进行接口。我正试图让它创建一个新文件,名为,时间戳取自python的datetime模块。你知道吗

我遇到的问题是,它无法同时打印这两种内容。我可以创建一个只有日期时间戳的文件;我可以创建一个只有时间戳的文件。然而,当我尝试将两者结合起来时,文件并没有被创建,我也不知道为什么。是不是因为文件名太长了?你知道吗

我尝试了以下代码的多种变体:

import os

import time
import datetime

ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime("%y-%m-%d_%H:%M:%S")

sys_call = 'fswebcam -r 1280x720 /home/pi/python/projectx_images/%s' %st

os.system(sys_call)

我也尝试过使用datetime.now()但没有效果。具体来说,如果我尝试st = datetime.datetime.fromtimestamp(ts).strftime("%y-%m-%d')st = datetime.datetime.fromtimestamp(ts).strftime("%H:%M:%S'),那么它可以正常工作,但不能同时使用这两种方法。你知道吗


Tags: 文件import脚本datetimetimeossys时间
2条回答

也许在这里使用Python是过分的。因为任务调度器在调用Python时可能已经在调用shell了,所以让shell来完成这项工作。你知道吗

将此命令用于命令计划程序:

fswebcam -r 1280x720 /home/pi/python/projectx_images/$(date +%Y-%m-%d_%H:%M:%S)

假设。。。你知道吗

st = datetime.datetime.fromtimestamp(ts).strftime("%y-%m-%d_%H:%M:%S') < - close with " instead of '

不是你的问题。。。我使用了下面的代码,它适合我。你知道吗

ti = datetime.datetime.utcfromtimestamp(time.time()).strftime("%y-%m-%d_%H:%M:%S")

输出。。。你知道吗

'17-11-18_01:47:48'

注意:它以UTC+0:00输出,因此您需要对其应用另一个操作以使其进入您的时区。自时间。时间()返回UNIX epoch时间(以秒为单位),您需要将时间偏移到时区相对于UTC+0:00的快/慢程度(以秒为单位)。你知道吗

也就是说,如果你在EST时间,那么你可以在time.time() - 18000上应用utcfromtimestamp()来获得你所在时区的时间。你知道吗

ti = datetime.datetime.utcfromtimestamp(time.time() - 18000).strftime("%y-%m-%d_%H:%M:%S")

相关问题 更多 >