在python中自定义fswebcam文件名

时间:2017-07-05 18:20:31

标签: python raspberry-pi

是否可以使从fswebcam生成的图像名称从python中的变量中获取名称?我的想法是,我有一个刷卡系统,可以拍摄任何刷卡的人在网络摄像头拍摄并将图像存储在一个文件夹中。我希望卡的序列号和时间是生成的图像的名称。现在,我只找到了一种方法来记录名称而不是序列号。任何人都可以帮助我吗?

刷卡系统代码:

import datetime
import time
import os
import RPi.GPIO as gpio

t = datetime.datetime.now()

gpio.setmode(gpio.BOARD)
gpio.setwarnings(False)

while True:
    card = raw_input()
    f = open("Laptop Sign Out" + '.txt', 'a')
    f.write("Card Number: " + card[1:10] + " Time: " + t.strftime("%m-%d-%Y %H:%M:%S"))
    f.write('\n')
    f.close()
    time.sleep(1)
    os.system('fswebcam ~/Desktop/Photos/%H%M%S.jpeg')
    time.sleep(3)

gpio.cleanup()

1 个答案:

答案 0 :(得分:1)

只需连接相应的文本,在本例中使用格式。

os.system('fswebcam ~/Desktop/Photos/{}_{}.jpeg'.format(card, t.strftime("%m-%d-%Y %H:%M:%S")))

完整代码:

import datetime
import time
import os
import RPi.GPIO as gpio

gpio.setmode(gpio.BOARD)
gpio.setwarnings(False)

while True:
    card = raw_input()
    t = datetime.datetime.now()
    f = open("Laptop Sign Out" + '.txt', 'a')
    f.write("Card Number: " + card[1:10] + " Time: " + t.strftime("%m-%d-%Y %H:%M:%S"))
    f.write('\n')
    f.close()
    time.sleep(1)
    os.system('fswebcam ~/Desktop/Photos/{}_{}.jpeg'.format(card, t.strftime("%m-%d-%Y %H:%M:%S")))
    time.sleep(3)

gpio.cleanup()

注意:我已经移动了变量t的位置,因为如果它在循环内部,它将永远不会被更新。