Ich lese über Subprozess und spielen mit etwas Code herum. Ich verwende Windows 7 mit Python3.6Warum druckt stdout in diesem Fall eine leere Zeichenfolge?
import subprocess
process = subprocess.Popen(['notepad', 'C:\\Users\Amit\Downloads\InsiderTrades.txt'],stdout=subprocess.PIPE, stderr=subprocess.PIPE)
#I'm opening a text file which has a list of stock tickers
stdout1, stderr1 = process.communicate()
print(stdout1.decode('ASCII'))
Der Ausgang ich nichts bekommen oder
b''
als Wert für stdout1.
I "m nicht ganz sicher, was communicate
in diesem Fall ausgegeben wird. Ich habe den Eindruck, dass es den Text aus meiner Textdatei ausgegeben würde oder es würde Ausgabe alles, was ich in die Textdatei ein.
ich habe versucht, in die neu geöffneten Textdatei eingeben als gut, aber ich bin immer noch die gleiche Leistung erhalten, b''
Also, was soll ich einen leeren String bekommen, trotz etwas in die neu eröffneten Text-Datei eingeben.
Wenn Sie diesen Befehl in einer cmd-Konsole eingeben, wird der Editor geöffnet und nichts ausgedruckt. Das ist das gleiche hier. –
Nicht klar, was Sie erwarten, aber Notepad nimmt nur nicht wirklich seine Eingaben von stdin noch gibt es auf stdout ausgegeben. Es ist ein GUI-Programm. – pvg