2016-07-13 8 views
0

Ich versuche, eine Batch-Datei zu schreiben, die automatisch ein Python-Skript ausführen wird. Nachdem python main.py ausgeführt wurde, fragt das Skript, welche serielle Schnittstelle der Benutzer verwendet (mit der Raw-Eingabefunktion in Python).Wie tippe Antwort auf Roheingabe am Terminal über Batch-Datei?

Ich möchte den Prozess automatisieren, indem Sie alle verschiedenen COM-Ports versuchen, bis wir den richtigen Port finden, so dass Benutzer den COM-Port nicht eingeben müssen.

Grundsätzlich frage ich mich nur, welcher Stapelbefehl verwendet wird, um auf das Terminal zu schreiben? Ich bin neu in Chargen- und ich konnte keine Informationen über meine spezielle Frage finden ...

habe ich versucht, diese so weit:

main.py 
    echo COM3 
    pause 

Aber die „COM3“ get nicht eingegeben, um Das Terminal. Würde mich über jede Hilfe sehr freuen, vielen Dank!

+0

'echo hi> COM3'. Http://stackoverflow.com/questions/31820569/trouble-with-renaming-folders-and-sub-folders-using-batch –

+0

Das hat mich wirklich für eine Schleife geworfen. Ich dachte, er sprach über RAW (nicht kanonisiert) Eingabe auf einem UNIX-tty! –

Antwort

0

ein Rohr Versuchen, welche die Ausgabe eines Befehls an den Eingang eines anderen lenkt:

echo COM3 | main.py 

Idealerweise jedoch Ihre main.py geschrieben werden würde den Port in der Befehlszeile zu übernehmen, anstatt zum Auffordern es (oder nur, wenn es nicht in der Befehlszeile gefunden wird). Wie folgt aus:

import sys 

if len(sys.argv) < 2: 
    port = raw_input("Enter port number: ") 
else: 
    port = sys.argv[1] 

Dann können Sie einfach tun main.py COM3.

Verwandte Themen