2016-08-21 12 views
0

Ich schreibe einen Code zum Lesen der seriellen Eingabe. Sobald der serielle Eingang gelesen wurde, muss ich einen Zeitstempel darunter und dann die Ausgabe von einer bestimmten Software hinzufügen. Um die Ausgabe von der Software zu erhalten, möchte ich, dass Python einen bestimmten Befehl an das Terminal schreibt und dann die Ausgabe liest, die auf dem Terminal kommt. Können Sie mir vorschlagen, wie ich den letzten Schritt mache: nämlich in das Terminal zu schreiben und dann die Ausgabe zu lesen? Ich bin ein Anfänger in Python, also entschuldigen Sie bitte, wenn das trivial klingt.Geben Eingabe in Terminal in Python

+3

Bitte nehmen Sie sich etwas Zeit, um die Hilfeseite zu lesen, insbesondere die Abschnitte mit dem Namen ["Was kann ich hier fragen?"] (Http://stackoverflow.com/help/on-topic) und ["Welche Arten von Fragen sollte ich vermeiden zu fragen? "] (http://stackoverflow.com/help/dont-ask). Und, was noch wichtiger ist, lesen Sie bitte [die Checkliste für Stack Overflow-Fragen] (http://meta.stackexchange.com/q/156810/204922). Vielleicht möchten Sie auch etwas über [Minimale, vollständige und überprüfbare Beispiele] (http://stackoverflow.com/help/mcve) erfahren. – idjaw

+0

@idjaw das OP fragt gerade, wie man vom Terminal liest und schreibt. Sie verlangen nicht, dass jemand eine Bewerbung für sie ausfüllt. –

+1

@RobertColumbia Fühlen Sie sich frei, diese Frage zu beantworten, wenn Sie denken, dass es eine gute, vollständige Frage nach SO Regeln ist. Es fehlt ein [MCVE] und es würde helfen, wenn das OP seinen eigenen Versuch machen würde, was sie zu tun versuchen, um den Lesern sogar einen Kontext zu geben, um zu wissen, welchen Implementierungsansatz sie anwenden, um zu wissen, wo wir überhaupt helfen können . – idjaw

Antwort

0

Um einen Befehl auszuführen und die zurückgegebene Ausgabe zu erhalten, können Sie die Funktion check_output des Subprozessmoduls verwenden.

Das wird den aktuellen Verzeichnisinhalt in MacOS/Linux zurückgeben und die Ausgabe speichern, damit Sie später in Ihrem Programm lesen können. Die "shell = True" erlaubt es, einen Befehl als String "ls -a" auszuführen. Wenn Sie nicht "shell = True" verwenden, übergeben Sie den Befehl als Liste aller Teile des Befehls, z. B. subprocess.check_output (["ls", "-a"]). Subprozess ist ein großartiges Modul, das in Python enthalten ist und viele Befehlszeilen ausführen kann.

Also mit subprocess sollten Sie in der Lage sein, ein anderes Programm, Code, Befehl usw. zu verwenden, indem Sie einen Shell-Befehl verwenden.

0

Sie müssten Python in die Software implementiert haben.

Ich glaube auch, dass dies eine Aufgabe für GCSE Computing in diesem Jahr ist, da ich privilegiert genug war, um zu wählen, welchen Test wir machen, und es gab eine Frage zu Seriennummern.