мне нужно выполнить эти две команды оболочки в моем raspberry pi через код python:
cd Desktop\fm_transmitter-master
sudo python ./PiStation.py -f 96 example.mp3
но я не могу понять, как это сделать, кто-нибудь может мне помочь?
import subprocess
subprocess.call('cd Desktop\fm_transmitter-master', shell=True)
subprocess.call('sudo python ./PiStation.py -f 96 syria.mp3', shell=True)
выполнение команд





import os
desktop = os.path.expanduser("~/Desktop")
script_path = os.path.join(desktop, 'fm_transmitter-master', 'PiStation.py')
song_path = os.path.join(desktop, 'fm_transmitter-master', 'syria.mp3')
subprocess.call('sudo python ' + script_path + ' -f 96 ' + song_path, shell=True)
большое спасибо, мне также нужно было бы остановить этот процесс, если нажата определенная кнопка, как я могу это сделать?
Что за кнопка?
он возвращает «синтаксическую ошибку», когда я пытаюсь запустить его///почему?
когда я запускаю скрипт, он просто выдает окно с надписью SyntaxError и "неверный синтаксис"
интерполяция строк, f-строка была добавлена после Python 3.6. Какая у вас версия?
на пи я не уверен(думаю 3.о) но на моем компе 3.7.3
изменил некоторые вещи. теперь получение подпроцесса не определено, хотя я импортировал его в начале, если скрипт /// пытался его установить, и ему не удалось это сделать
решил это:
path = "/home/pi/Desktop/fm_transmitter-master/"
os.chdir(path)
args = ["sudo", "python", "PiStation.py", "-f", "96", "song.mp3"]
pi_station = subprocess.Popen(args, stdout=subprocess.PIPE)
Также см. Как создать минимальный, полный и проверяемый пример.