Dies ist ein einfacher Befehl, der von der Kommandozeile arbeitet:Keine Ausgabe von Kind mit subprocess ausgeführt Python
> python -c "print('asdasd')"
asdasd
Aber es nicht zu irgendetwas ausgegeben wird, wenn aus dem Skript ausgeführt:
import os
import sys
import subprocess
cmd = [sys.executable] + ['-c', '"print(\'asdasd\')"']
print cmd
kwargs = {
'stdout': subprocess.PIPE,
'stderr': subprocess.PIPE,
'stdin': subprocess.PIPE,
}
print subprocess.Popen(cmd).communicate()
print subprocess.Popen(cmd, **kwargs).communicate()
Der Ausgang :
Warum produziert es nichts? Ich habe keine Ideen mehr. Sieht für mich wie ein Fehler in Python 2.7.11 aus.
Danke! Ich wusste, dass etwas offensichtlich ist, aber ich dachte, es wäre irgendwo im "Subprozess". Ich habe den String zitiert, weil er in der rohen Befehlszeile zitiert wurde, aber wenn Argumente in einer Liste ausgedrückt werden, zitiert Python sie selbst. –