Pytania otagowane jako subprocess

Moduł podprocesu Pythona umożliwia tworzenie nowych procesów, łączenie się z ich potokami wejścia / wyjścia / błędów i uzyskiwanie ich kodów powrotu. Użyj go, aby uruchomić polecenie powłoki lub plik wykonywalny w Pythonie.

15
wyjście na żywo z komendy podprocesu
Używam skryptu python jako sterownika kodu hydrodynamicznego. Kiedy przychodzi czas na uruchomienie symulacji, używam subprocess.Popendo uruchomienia kodu, zbieram dane wyjściowe ze stdout i stderr do subprocess.PIPE--- następnie mogę wydrukować (i zapisać w pliku dziennika) informacje wyjściowe i sprawdzić, czy nie ma błędów . Problem polega na tym, że nie mam …

2
Jaka jest różnica między podprocesem Popen i call (jak mogę ich używać)?
Chcę wywołać zewnętrzny program z Pythona. Użyłem obu Popen()i call()do tego. Jaka jest różnica między nimi? Moim konkretnym celem jest uruchomienie następującego polecenia z Pythona. Nie wiem, jak działają przekierowania. ./my_script.sh > output Przeczytałem dokumentację i mówi, że call()jest to funkcja wygoda lub funkcja skrótu. Czy tracimy jakąkolwiek moc, używając …
178 python  subprocess  popen 

18
Pobieranie danych wyjściowych w czasie rzeczywistym przy użyciu podprocesu
Próbuję napisać skrypt opakowujący dla programu wiersza poleceń (weryfikacja svnadmin), który będzie wyświetlał ładny wskaźnik postępu operacji. Wymaga to ode mnie możliwości zobaczenia każdego wiersza wyjścia z opakowanego programu, gdy tylko zostanie on wyprowadzony. Pomyślałem, że po prostu uruchomię program za pomocą subprocess.Popen, użyję stdout=PIPE, a następnie przeczytam każdą linię, …
138 python  subprocess 

3
OSError: [Errno 2] Brak takiego pliku lub katalogu podczas korzystania z podprocesu Python w Django
Próbuję uruchomić program, aby wykonać kilka wywołań systemowych w kodzie Pythona, przy użyciu subprocess.call()którego zgłasza następujący błąd: Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/lib/python2.7/subprocess.py", line 493, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1249, in …

10
Jak mogę uruchomić zewnętrzne polecenie asynchronicznie z poziomu języka Python?
Muszę asynchronicznie uruchomić polecenie powłoki ze skryptu w języku Python. Rozumiem przez to, że chcę, aby mój skrypt Pythona działał dalej, podczas gdy zewnętrzne polecenie wyłącza się i robi wszystko, co musi. Przeczytałem ten post: Wywołanie polecenia zewnętrznego w Pythonie Potem wyszedłem i zrobiłem kilka testów i wygląda na to, …


9
Katalog zmiany podprocesu
Chcę wykonać skrypt w podkatalogu / superkatalogu (najpierw muszę być w tym podkatalogu / superkatalogu). Nie mogę wejść subprocessdo mojego podkatalogu: tducin@localhost:~/Projekty/tests/ve$ python Python 2.7.4 (default, Sep 26 2013, 03:20:26) [GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> import os >>> …
106 python  subprocess 

3
Jak używać podprocesu popen Python
Ponieważ os.popen jest zastępowane przez subprocess.popen, zastanawiałem się, jak skonwertować os.popen('swfdump /tmp/filename.swf/ -d') to subprocess.popen () Próbowałem: subprocess.Popen("swfdump /tmp/filename.swf -d") subprocess.Popen("swfdump %s -d" % (filename)) # NOTE: filename is a variable # containing /tmp/filename.swf Ale myślę, że nie piszę tego poprawnie. Każda pomoc będzie mile widziana. Dzięki
103 python  subprocess  popen 



4
Dlaczego Popen.communicate () zwraca b'hi \ n 'zamiast' hi '?
Czy ktoś może wyjaśnić, dlaczego oczekiwany przeze mnie wynik, „cześć”, jest poprzedzony literą „b” i zakończony nową linią? Używam Pythona 3.3 >>> import subprocess >>> print(subprocess.Popen("echo hi", shell=True, stdout=subprocess.PIPE).communicate()[0]) b'hi\n' To dodatkowe `` b '' nie pojawia się, jeśli uruchomię go z Pythonem 2.7

13
przechwytywanie stdout w czasie rzeczywistym z podprocesu
Chcę subprocess.Popen()rsync.exe w systemie Windows i wydrukować standardowe wyjście w Pythonie. Mój kod działa, ale nie rejestruje postępu, dopóki nie zakończy się przesyłanie pliku! Chcę wydrukować postęp dla każdego pliku w czasie rzeczywistym. Używając Pythona 3.1 teraz, ponieważ słyszałem, powinno być lepsze w obsłudze IO. import subprocess, time, os, sys …

7
Odczytaj dane wejściowe przesyłania strumieniowego z subprocess.communicate ()
Używam Pythona subprocess.communicate()do odczytu standardowego wyjścia z procesu, który działa przez około minutę. Jak mogę wydrukować każdą linię tego procesu stdoutw sposób strumieniowy, aby zobaczyć wynik w postaci, w jakiej jest generowany, ale nadal blokować zakończenie procesu przed kontynuowaniem? subprocess.communicate() wydaje się dawać wszystkie wyniki naraz.

3
Czy można uruchomić funkcję w podprocesie bez tworzenia wątków lub pisania oddzielnego pliku / skryptu?
import subprocess def my_function(x): return x + 100 output = subprocess.Popen(my_function, 1) #I would like to pass the function object and its arguments print output #desired output: 101 Znalazłem tylko dokumentację dotyczącą otwierania podprocesów za pomocą oddzielnych skryptów. Czy ktoś wie, jak przekazywać obiekty funkcyjne, a nawet prosty sposób na …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.