2016-08-28 21 views

Odpowiedz

9

subprocess.runwas added in Python 3.5 jako uproszczenie na subprocess.Popen, gdy chcesz tylko wykonać polecenie i poczekać, aż się skończy, ale nie chcesz robić nic więcej w międzyczasie. W innych przypadkach nadal musisz użyć subprocess.Popen.

Główną różnicą jest to, że subprocess.run wykonuje polecenia i czeka na zakończenie, podczas gdy z subprocess.Popen można nadal robić swoje rzeczy, podczas gdy kończy proces, a następnie po prostu wielokrotnie zadzwonić subprocess.communicate się przejść i odbierania danych do procesu .

Należy pamiętać, że to, co jest rzeczywiście robi subprocess.run powołując się na ciebie Popen i communicate, więc nie ma potrzeby, aby pętla przekazać/odbierać dane, ani czekać na proces do końca.

Sprawdź, , aby dowiedzieć się, które parametry są przekazywane do Popen, a które do communicate.

Powiązane problemy