Linia komend
import subprocess
cmd = [
"avrdude",
"-p", "m8a",
"-c", "arduino",
"-P", "/dev/ttyS0"
]
try:
wynik = subprocess.run(
cmd,
capture_output=True,
text=True,
check=True
)
print("OK")
print(wynik.stdout)
except subprocess.CalledProcessError as e:
print("BŁĄD!")
print("Kod:", e.returncode)
print("STDOUT:")
print(e.stdout)
print("STDERR:")
print(e.stderr)
Co robi check=True
Jeżeli program zakończy się kodem ≠ 0:
avrdude: ser_open(): can't open device
Python rzuci wyjątek:
subprocess.CalledProcessError
i trafisz do except.