将变量插入os命令

时间:2014-11-15 22:32:31

标签: python string variables

我是一个新手试图通过Drumminhands修改令人敬畏的photobooth代码来添加水印。

我正在尝试将变量传递给os.command字符串,但是当它使用确切的单词“filename”而不是上面定义的变量值时,它会继续响应错误。

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

1 个答案:

答案 0 :(得分:2)

Python不直接支持字符串插值。相反,您需要使用str.format将值插入字符串:

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