Z. B, kann ich os.system verwenden Sie ein Shell-Befehl auszuführen, wie folgt aus:Python: io umleiten, wie man Rückgabewert von Ausgabeinhalt ausschließt?
>>> import os
>>> os.system("ls")
1p.py Tmytest1 getpip.py src
1p.pyc a.out helloworld tags
0
scheint die „0“ ist der Rückgabewert von „System“ Funktionsaufruf, und es Python druckt. Dann habe ich versucht, wie diese das System Befehlsausgabe in eine Datei zu umleiten:
>>> import os
>>> import sys
>>> testlog=open('testlog.txt','w')
>>> os.dup2(testlog.fileno(),sys.stdout.fileno())
>>> print 'abc'
>>> print 'xyz'
>>> os.system("ls")
Dann habe ich cat „testlog.txt“, fand ich den Inhalt enthält letzte Zeile von „0“. Dies ist nicht das, was ich wollte, wie kann man den Rückgabewert davon abhalten, in die Ausgabedatei umgeleitet zu werden?
Tun Sie einfach etwas wie 'a = os.system (' ls ') ', es wird die Ausgabe des Befehls gedruckt und nicht den zurückgegebenen Wert ausgegeben. – ishaan