SyntaxError:使用管道无效的语法。

时间:2019-04-30 13:42:48

标签: python-2.7 raspberry-pi3

尝试在raspi3上的python中创建Shell脚本以启动网络摄像头。尝试运行脚本时出现语法错误。

请记住,我是Python的新手,但我分别尝试了一下以查看打印出的内容,只有在组合脚本时才能得到。

from gpiozero import Button
from pipes import quote
import time
import os

print("your script has started")

camOutput = 'output_http.so -w ./www'
camInput = 'input_raspicam.so -hf'
camStart = '/home/pi/projects/mjpg-streamer/mjpg_streamer -o'.format(quote(camOutput)).'-i'.format(quote(camInput))

print("your script is loaded")

stopButton = Button(26) #shutdown
camButton = Button(25)  #web cam
ledButton = Button(24)  #top led

while True:
        if stopButton.is_pressed:
                time.sleep(1)
        if stopButton.is_pressed:
                os.system("shutdown now -h")
        time.sleep(1)

    camStart = '/home/pi/projects/mjpg-streamer/mjpg_streamer -o'.format(quote(camOutput)).'-i'.format(quote(camInput))
                                                                                              ^
SyntaxError: invalid syntax```

1 个答案:

答案 0 :(得分:0)

在Python中,点运算符不用于连接字符串,而仅用于访问对象的属性和方法。因此,将字符串文字放在点之后,例如.'-i',是语法错误。

您可能想要执行以下操作,使用format方法将{}占位符替换为提供的值:

camStart = '/..../mjpg_streamer -o {} -i {}'.format(quote(camOutput),quote(camInput))