我是 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')
它很短,但它满足了我的需要。 我意识到需要导入日期时间,但我无法准确无误地获取数据作为名称。是的,我试过 str() 命令。任何帮助将不胜感激。
最佳答案
'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 以了解其工作原理。)
关于Python PIL 以日期时间作为名称保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6327498/