Mogę wykonać polecenie terminalu przy użyciu os.system()
, ale chcę przechwycić dane wyjściowe tego polecenia. Jak mogę to zrobić?Jak uzyskać dane wyjściowe terminala w pythonie?
Odpowiedz
>>> import subprocess
>>> cmd = [ 'echo', 'arg1', 'arg2' ]
>>> output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
>>> print output
arg1 arg2
>>>
Występuje błąd w korzystaniu z podprocesu.PIPE. Dla ogromnej stosowania tego wyjścia:
import subprocess
import tempfile
with tempfile.TemporaryFile() as tempf:
proc = subprocess.Popen(['echo', 'a', 'b'], stdout=tempf)
proc.wait()
tempf.seek(0)
print tempf.read()
Zamiast tego użyj subprocess
module.
pipe = Popen("pwd", shell=True, stdout=PIPE).stdout
output = pipe.read()
W Pythonie 2.7 można również użyć funkcji check_output()
.
Można użyć Popen w subprocess
jak sugerują.
z os
, która nie polecam, to jak poniżej:
import os
a = os.popen('pwd').readlines()
To nie działa. Obiekty 'Popen' nie mają metody' readlines() '. –
Dzięki za wskazanie, działa tylko dla os.popen – gerry
'os.popen' jest przestarzałe na rzecz' subprocess.Popen'. –
Najprostszym sposobem jest użycie polecenia biblioteka
import commands
print commands.getstatusoutput('echo "test" | wc')
Skąd masz moduł poleceń? Wygląda na to, że Python3 nie działa na pip. – Shule
- 1. Python, jak wysłać dane wyjściowe do pliku i terminala
- 2. Utwórz ładne dane wyjściowe kolumny w pythonie
- 3. Jak asynchronicznie uzyskać subprocessowe dane wyjściowe?
- 4. Jak pobrać dane wyjściowe z wieloprocesowości w Pythonie?
- 5. C# uzyskać dane wyjściowe procesu podczas pracy
- 6. Jak uzyskać dane wyjściowe odrodzonego procesu child_process w pliku Node.JS?
- 7. Jak uzyskać dane wyjściowe polecenia zewnętrznego w Perlu?
- 8. Jak uzyskać dane wyjściowe polecenia uruchamianego przez QProcess w PySide?
- 9. Jak uzyskać dane wyjściowe polecenia bash w zmiennej
- 10. Jak uzyskać dane wyjściowe asemblera z pliku C w VS2005
- 11. Wyłącz wyjściowe dane wyjściowe logcat w Androidzie
- 12. Json wydrukuje dane wyjściowe w pythonie inne niż dane wyjściowe zapisu ze względu na znaki ze znakami escape
- 13. Jak uzyskać dane wyjściowe Debug/Trace.Writeline z usługi WCF
- 14. Jak uzyskać dane wyjściowe zadania przesiewowego do innego zadania gruntowego?
- 15. jak uzyskać dane wyjściowe polecenia przy korzystaniu z Microsoft nmake?
- 16. Chef - Jak uzyskać dane wyjściowe polecenia do Ruby zmiennej
- 17. Dane wyjściowe w dokumentacji Sphinx
- 18. Jak mogę uzyskać dane wyjściowe z wykresu matplotlib jako SVG?
- 19. WicketTester, jak uzyskać dane wyjściowe html dla komponentu?
- 20. Jak uzyskać dane wyjściowe z pracy dokera -i
- 21. Jak uzyskać dane wyjściowe pand .plot (kind = 'kde')?
- 22. Jak wydrukować sformatowane w terminalu dane wyjściowe do zmiennej
- 23. Czy istnieją biblioteki javascript, które mogą renderować dane wyjściowe terminala w przeglądarce?
- 24. Jak wyczyścić dane wyjściowe notatnika programu IPython we wszystkich komórkach z terminala systemu Linux?
- 25. konkatować dane wyjściowe podzapytania?
- 26. Node.js odradza proces potomny i pobiera dane wyjściowe z terminala na żywo
- 27. Jak mogę przechwytywać dane wyjściowe i wyświetlać je w tym samym czasie w Pythonie?
- 28. MapReduce - Jak sortować dane wyjściowe według wartości
- 29. Ukryj dane wyjściowe z podprocesu.Popen
- 30. Jak przekierować dane wyjściowe procesora do łańcucha?
jesteś moim zbawcą !!! Szukałem czegoś takiego od wielu dni !!! Dziękuję Ci! –