2014-11-15 3 views
1

Я новичок, пытающийся модифицировать удивительный код фотобезопасности Drumminhands, чтобы добавить водяной знак.Вставить переменные в команду os

Я пытаюсь передать переменную до строки os.command, но она продолжает отвечать ошибкой, когда использует точное слово «имя_файла», а не значение для указанной выше переменной.

for i, filename in enumerate(camera.capture_continuous(file_path + now + '-' + '{counter:02d}.jpg')): 
    GPIO.output(led2_pin,True) #turn on the LED 
    print(filename) 
    watermark = "gm composite /home/pi/photobooth/watermark.png filename filename" 
    os.system(watermark) 

https://github.com/drumminhands/drumminhands_photobooth/blob/master/drumminhands_photobooth.py

ответ

2

Python не поддерживает интерполяцию строки непосредственно. Вместо этого вам необходимо использовать str.format для вставки значений в строки:

watermark = "gm composite /home/pi/photobooth/watermark.png {0} {0}".format(filename) 
+0

Спасибо! Это сделал трюк. –

Смежные вопросы