Maison > développement back-end > Tutoriel Python > Comment puis-je rediriger la sortie du sous-processus vers un fichier en Python ?

Comment puis-je rediriger la sortie du sous-processus vers un fichier en Python ?

Linda Hamilton
Libérer: 2024-11-13 15:16:02
original
828 Les gens l'ont consulté

How can I redirect subprocess output to a file in Python?

Redirection de la sortie en Python avec sous-processus

En Python, la redirection de la sortie vers un fichier à l'aide d'un sous-processus peut être effectuée via l'argument stdout lors de l'appel du sous-processus .run().

Considérez la commande de ligne de commande suivante :

cat file1 fichier2 fichier3 > monfichier

Cette commande concatène le contenu des fichiers "fichier1", "fichier2" et "fichier3" et dirige la sortie vers le fichier "monfichier".

Pour effectuer une opération analogue en Python à l'aide du sous-processus, suivez ces étapes :

  1. Créez une liste d'arguments pour l'appel du sous-processus, y compris la commande (par exemple, ['cat']) et les noms des fichiers d'entrée.
  2. Ouvrez le fichier vers lequel vous souhaitez rediriger la sortie (« monfichier » dans ce cas) en mode écriture.
  3. Invoquez le sous-processus. run() avec la liste des arguments, en spécifiant le descripteur de fichier ouvert comme paramètre stdout.

Exemple de code (Python 3.5 ):

import subprocess

# Create a list of input file names
input_files = ['file1', 'file2', 'file3']

# Create the command argument list
my_cmd = ['cat'] + input_files

# Open the output file in write mode
with open('myfile', "w") as outfile:
    # Run the subprocess and redirect its output to the file
    subprocess.run(my_cmd, stdout=outfile)
Copier après la connexion

En suivant cette approche, vous pouvez rediriger efficacement la sortie d'un sous-processus vers un fichier spécifié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal