我对python相对较新,并且知道语法很少,但我愿意尽可能多地学习。简单地说,我想使用PIL中的保存功能来保存.png文件的名称是当前的日期和时间。由于我没有直接使用PIL,而是通过Videocapture模块,这可能会很复杂,但我对此表示怀疑。这是我的代码
from VideoCapture import Device
cam = Device()
cam.saveSnapshot('C:\Users\Myname\Dropbox\Foldes\image.png', timestamp=3, boldfont=1, textpos='bc')
它的简短,但它确实需要它。 我意识到需要导入Datetime,但是我无法将数据作为名称而没有错误。是的,我已经尝试过str()命令。任何帮助将不胜感激。
答案 0 :(得分:7)
'C:\Users\Myname\Dropbox\Foldes\image.png'
在Python中的字符串中,反斜杠具有特殊含义,因此您需要以不同方式对待它们。您可以使用其中两个而不是一个......
'C:\\Users\\Myname\\Dropbox\\Foldes\\image.png'
...或者你可以在字符串前添加r
(只要它不以反斜杠结尾)
r'C:\Users\Myname\Dropbox\Foldes\image.png'
要以YYYY-MM-DD-HH:MM
格式生成包含当前日期的字符串,我们可以像这样使用datetime模块。要以不同方式格式化时间戳,请咨询the documentation here。
import datetime
date_string = datetime.datetime.now().strftime("%Y-%m-%d-%H:%M")
作为一种较短的替代方案,您可以使用类似的time
模块:
import time
date_string = time.strftime("%Y-%m-%d-%H:%M")
在此之后,你应该能够做到
cam.saveSnapshot(r'C:\Users\Myname\Dropbox\Foldes\image-' + date_string + '.png',
timestamp=3, boldfont=1, textpos='bc')
使用日期时间在文件名中保存图像。 (为了便于阅读,我将函数调用分为两行,请参阅this question,了解其工作原理。