Ich versuche, eine UART-Zeile zu greifen und gebe diese Zeichenfolge an ein Shell-Skript;greifen Sie auf die serielle Eingabezeile und verschieben Sie sie in ein Shell-Skript
#!/usr/bin/env python
import os
import serial
ser = serial.Serial('/dev/ttyAMA0', 4800)
while True :
try:
state=ser.readline()
print(state)
except:
pass
Also, „Staat“ soll nun auf einen Shell-Skript gegeben, wie: myscript.sh "This is the serial input..."
aber wie kann ich das tun?
print(os.system('myscript.sh ').ser.readline())
funktioniert nicht.
'os.system()' gibt nichts zurück, was Sie drucken möchten. Wenn der Subprozess irgendetwas auf die Standardausgabe ausgibt, wird es dort hingehen und Ihr Python-Skript wird es nicht wissen. Wenn Sie erfassen möchten, was der Unterprozess druckt, haben Sie noch einen weiteren Grund, das Modul 'subprocess' zu betrachten, speziell die 'check_output'-Methode (Python 2.7+) – tripleee