0
Ich versuche, einen BefehlPython Subprozess Befehl Sprechaufforderung
ionic cordova prepare
zu nennen, die für eine „Y/N“ Antwort auffordert. Ich möchte immer, dass dies ja ist. Wenn ich os.system benutzen wollte, blieb es im letzten Teil hängen und nicht in den Rest des Skripts. Kennt jemand den richtigen Weg, dies zu schreiben?
Dies ist, was ich versucht
foo_proc = Popen(['ionic', 'cordova', 'prepare'], stdin=PIPE, stdout=PIPE)
yes_proc = Popen(['yes', 'y'], stdout=foo_proc.stdin)
foo_proc.communicate()[0]
yes_proc.wait()
Aber es hängt nur auf den Befehl und scheint nicht
Nur * eine * Eingabeaufforderung? Warum sollte "yes_proc" überhaupt ausgeführt werden, anstatt 'foo_proc.communicate ('y \ n')' um ein einzelnes 'y' an die Standardeingabe von' foo_proc' zu übergeben? –
Sie meinen laufen foo_proc = Popen (['ionic', 'Cordova', 'vorbereiten'], stdin = PIPE, stdout = PIPE) foo_proc.communicate ('y \ n') Wenn ich das tun scheint es überspringe einfach den Befehl. Es führt nie – elcapitan
Ich meine läuft * was *? BTW, kann dieses Problem nicht reproduzieren, wenn '[' ionic ',' cordova ',' prepare '] 'zu' [' head ',' -n ',' 1 '] 'geändert wird, was bedeutet, dass es etwas Bestimmtes gibt 'ionic' Befehl geht weiter. –