Python versione Bignami - Confronti

import subprocess

Lanciare un processo figlio

Modo completo:

p = subprocess.Popen(
    # Comando da eseguire (come stringa o come lista)
    args,
    # How to connect the child's stdin, stdout and stderr:
    # * None: eredita dal padre
    # * subprocess.PIPE: collega via pipe all'oggetto file corrispondente
    #                  p.stdin, p.stdout o p.stderr
    # * subprocess.STDOUT: valido solo per stderr, collega stderr alla stesso
    #                     modo di stdout
    # * un oggetto di tipo file: collega via pipe al file dato
    stdin=None,
    stdout=None,
    stderr=None,
    # Se è True, esegue il comando usando la shell
    shell=False,
    # Directory in cui eseguire il comando (se None, usa la directory corrente)
    cwd=None,
    # Variabili di ambiente per il comando (se None, usa l'ambiente corrente)
    env=None)

Modi rapidi:

Gli oggetti Popen

Esempi

from subprocess import *
# Legge un file dalla rete tramite wget e lo stampa mettendo i numeri alle
# righe
p = Popen(['wget', '-O-', '-q', url], stdout=PIPE)
for num, line in enumerate(p.stdout):
    print "%4d %s" % (num, line[:-1])
if p.wait() != 0:
    raise CalledProcessError

Link