SyntaxError: неверный синтаксис с использованием pipe.quote - PullRequest
0 голосов
/ 30 апреля 2019

Попытка создать сценарий оболочки на raspi3 в python для запуска веб-камеры. Получение синтаксической ошибки при попытке запустить скрипт.

Имейте в виду, что я новичок в 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 голосов
/ 30 апреля 2019

В Python оператор точки не используется для объединения строк, а только для доступа к свойствам и методам объекта. Таким образом, размещение строкового литерала после точки, такой как .'-i', является синтаксической ошибкой.

Возможно, вы захотите сделать что-то подобное, используя метод format для замены заполнителей {} на указанные значения:

camStart = '/..../mjpg_streamer -o {} -i {}'.format(quote(camOutput),quote(camInput))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...