Comment faire pour capturer la sortie de “sous-processus.l'appel” pour un fichier?

Dans mon code j'ai une ligne similaire à ceci:

rval = subprocess.call(["mkdir",directoryName], shell=True)

et je peux vérifier rval pour voir si c'est 0 ou 1, mais si c'est 1, j'aimerais avoir le texte de la commande "A subdirectory or file ben already exists." dans un format de fichier, je peux le comparer à un autre fichier si je veux assurez-vous que le texte est le même.

Est-il possible d'avoir une ligne comme ceci, mais je sais que cela ne fonctionne pas

rval = subprocess.call(["mkdir",directoryName], shell=True) >> filename

donc, peu importe ce qui se passe avec la commande, le texte est saisi en filename, et rval a encore le code de retour?

Duplicata de tous ceux-ci: stackoverflow.com/search?q=%5Bpython%5D+subprocess+capture
double possible de Capture de sous-processus de sortie
pourquoi n'êtes-vous pas à l'aide de Python builtin mkdir() ?
Je suis en train de faire ce pour une commande je ne peux pas poster ici, mais il a des caractéristiques similaires à celles mkdir.
c'est presque un duplicata. La différence serait Popen vs call (qui je suis d'accord, c'est subtil), et le désir d'écrire dans un fichier plutôt que de capturer la sortie du programme. Même s'il semble que l'interlocuteur serait plutôt la capture de la sortie, il est utile de répondre à la question telle qu'elle est.

OriginalL'auteur Dag | 2010-10-20