Domande taggate «subprocess»

Il modulo sottoprocesso Python consente di generare nuovi processi, connettersi ai loro tubi di input / output / errore e ottenere i loro codici di ritorno. Usalo per eseguire un comando di shell o un eseguibile in Python.


16
Esecuzione del comando shell e acquisizione dell'output
Voglio scrivere una funzione che eseguirà un comando shell e restituirà il suo output come stringa , non importa, si tratta di un messaggio di errore o di successo. Voglio solo ottenere lo stesso risultato che avrei ottenuto con la riga di comando. Quale sarebbe un esempio di codice che …
909 python  shell  subprocess 


29
Utilizzo del modulo "sottoprocesso" con timeout
Altre versioni di Stack Overflow in Stack Overflow : versioni successive in versione successiva Ecco il codice Python per eseguire un comando arbitrario che restituisce i suoi stdoutdati o sollevare un'eccezione su codici di uscita diversi da zero: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # Merge stdout and stderr stdout=subprocess.PIPE, shell=True) …

11
Come terminare un sottoprocesso di Python avviato con shell = True
Sto avviando un sottoprocesso con il seguente comando: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) Tuttavia, quando provo a uccidere usando: p.terminate() o p.kill() Il comando continua a essere eseguito in background, quindi mi chiedevo come posso effettivamente terminare il processo. Si noti che quando eseguo il comando con: p = subprocess.Popen(cmd.split(), …

15
Memorizza l'output del sottoprocesso. Apri la chiamata in una stringa
Sto provando a effettuare una chiamata di sistema in Python e memorizzare l'output in una stringa che posso manipolare nel programma Python. #!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p") Ho provato alcune cose tra cui alcuni dei suggerimenti qui: Recupero dell'output di subprocess.call () ma senza fortuna.
300 python  subprocess 

8
Python sottoprocesso / Popen con un ambiente modificato
Credo che eseguire un comando esterno con un ambiente leggermente modificato sia un caso molto comune. È così che tendo a farlo: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) Ho la sensazione che ci sia un modo migliore; sembra a posto?
285 python  subprocess  popen 


11
Come faccio a passare una stringa in subprocess.Popen (usando l'argomento stdin)?
Se faccio quanto segue: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Ottengo: Traceback (most recent call last): File "<stdin>", line 1, in ? File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__ (p2cread, p2cwrite, File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 830, in _get_handles p2cread = stdin.fileno() AttributeError: 'cStringIO.StringI' object has no attribute 'fileno' Apparentemente un oggetto …
280 python  subprocess  stdin 

5
Significato effettivo di "shell = True" nel sottoprocesso
Chiamo diversi processi con il subprocessmodulo. Tuttavia, ho una domanda. Nei seguenti codici: callProcess = subprocess.Popen(['ls', '-l'], shell=True) e callProcess = subprocess.Popen(['ls', '-l']) # without shell Entrambi funzionano. Dopo aver letto i documenti, sono arrivato a saperloshell=True significa eseguire il codice attraverso la shell. Ciò significa che in assenza, il …
260 python  subprocess 


9
leggere lo sottoprocesso stdout riga per riga
Il mio script Python utilizza un sottoprocesso per chiamare un'utilità linux molto rumorosa. Voglio archiviare tutto l'output in un file di registro e mostrarne un po 'all'utente. Ho pensato che avrebbe funzionato quanto segue, ma l'output non viene visualizzato nella mia applicazione fino a quando l'utilità non ha prodotto una …
235 python  subprocess 

13
Stampa costantemente l'output del sottoprocesso mentre il processo è in esecuzione
Per avviare programmi dai miei script Python, sto usando il seguente metodo: def execute(command): process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.communicate()[0] exitCode = process.returncode if (exitCode == 0): return output else: raise ProcessException(command, exitCode, output) Quindi, quando lancio un processo come Process.execute("mvn clean install"), il mio programma attende …
202 python  subprocess 

1
Come posso specificare la directory di lavoro per popen
C'è un modo per specificare la directory di comando in esecuzione in Python's subprocess.Popen()? Per esempio: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') Il mio script Python si trova in C:\programs\python È possibile eseguire C:\mytool\tool.exenella directory D:\test\local? Come posso impostare la directory di lavoro per un processo secondario?
187 python  subprocess  popen 


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.