Pytania otagowane jako popen

8
Podproces języka Python / Popen ze zmodyfikowanym środowiskiem
Uważam, że uruchamianie zewnętrznego polecenia w nieco zmodyfikowanym środowisku jest bardzo częstym przypadkiem. Tak zazwyczaj to robię: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) Mam przeczucie, że jest lepszy sposób; czy to wygląda dobrze?
285 python  subprocess  popen 

1
Jak mogę określić katalog roboczy dla popen
Czy istnieje sposób na określenie działającego katalogu poleceń w Pythonie subprocess.Popen()? Na przykład: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') Mój skrypt w języku Python znajduje się w C:\programs\python Czy można uruchomić C:\mytool\tool.exew katalogu D:\test\local? Jak ustawić katalog roboczy dla podprocesu?
187 python  subprocess  popen 

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 

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

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.