Системная команда в терминал Linux на python
Интересен момент передачи системных команд на Python в Linux. Например такой код работает.
import os
command = "python --version"
res = os.system(command)
print("Returned Value: ", res)
А такой нет. Выдает: sh: строка 1: amixer: команда не найдена
import os
command = "amixer -c 2 set 'Output Select' 'Headphone'"
res = os.system(command)
print("Returned Value: ", res)
Интересно почему. Спасибо.
Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
Короче, похоже проблема была с правами. Если обращаться к amixer из /usr/bin/amixer, где он и находился, то по какой-то причине ничего не происходит. А если скопировать amixer в папку с проектом, и вызывать оттуда, пример ниже, то все отлично работает. Плюс нужно юзать subprocess. Мб кому поможет.
import subprocess
def Headphones(self):
subprocess.Popen ("/home/dmitry/PycharmProjects/2/amixer -c 2 set 'Output Select' 'Headphone'", shell=True)