Comment utiliser le module de sous-processus pour exécuter des commandes externes dans Python 3.x
En Python, nous devons souvent exécuter des commandes système, telles que l'exécution d'autres programmes, l'exécution de commandes shell, etc. Python fournit le module subprocess, qui nous permet d'appeler facilement des commandes externes et d'obtenir leur sortie.
Cet article expliquera comment utiliser le module de sous-processus dans Python 3.x pour exécuter des commandes externes et fournira un exemple de code.
Voici un exemple simple qui montre comment utiliser la fonction subprocess.run() pour exécuter une commande externe et obtenir le résultat de la commande :
import subprocess # 执行外部命令 result = subprocess.run(['ls', '-l'], capture_output=True, text=True) # 获取命令的输出 output = result.stdout # 输出到控制台 print(output)
Dans le code ci-dessus, nous avons utilisé la fonction subprocess.run() pour exécuter la commande ls -l
. Ici, nous utilisons deux paramètres pour contrôler l'exécution de la commande : capture_output=True signifie capturer la sortie de la commande dans l'objet résultat, et text=True signifie renvoyer la sortie sous forme de texte. ls -l
命令。这里我们使用了两个参数来控制命令的执行:capture_output=True 表示将命令的输出捕获到result对象中,text=True 表示将输出以文本形式返回。
下面是一个示例,演示如何使用subprocess.Popen()函数执行外部命令,并对命令的输出进行逐行读取:
import subprocess # 执行外部命令 process = subprocess.Popen(['ping', 'www.baidu.com'], stdout=subprocess.PIPE, text=True) # 逐行读取输出 for line in process.stdout: print(line.strip())
在上面的代码中,我们使用subprocess.Popen()函数执行了ping www.baidu.com
命令,并将命令的输出通过stdout管道返回。我们通过遍历stdout管道逐行读取命令的输出,并打印到控制台。
需要注意的是,当使用Popen类执行命令时,并不会自动等待命令执行完毕。如果需要等待命令执行完毕,可以通过process.wait()函数来实现。
下面是一个示例,演示如何使用subprocess.call()函数执行外部命令,并获取命令的返回码:
import subprocess # 执行外部命令 return_code = subprocess.call(['git', 'clone', 'https://github.com/username/repo']) # 输出返回码 print(return_code)
在上面的代码中,我们使用subprocess.call()函数执行了git clone
Le module de sous-processus fournit également la classe Popen, qui est une interface de niveau inférieur qui peut être utilisée pour exécuter des commandes plus complexes et contrôler le commande Entrée/sortie pour un contrôle plus fin.
Voici un exemple qui montre comment utiliser la fonction subprocess.Popen() pour exécuter une commande externe et lire le résultat de la commande ligne par ligne :
Dans le code ci-dessus, nous utilisons le subprocess.Popen( ) fonction à exécuter La commande ping www.baidu.com
est exécutée et la sortie de la commande est renvoyée via le tube stdout. Nous lisons la sortie de la commande ligne par ligne en parcourant le tube stdout et l'imprimons sur la console.
en utilisant le sous-processus .call() fonction git clone
commande et a passé l'adresse de l'entrepôt en paramètre. Après avoir exécuté une commande en appelant la fonction subprocess.call(), le programme sera bloqué jusqu'à ce que la commande soit exécutée. 🎜🎜Ici, vous pouvez obtenir le code de retour de la commande via return_code, et vous pouvez juger si la commande a été exécutée avec succès en fonction du code de retour. 🎜🎜Résumé : 🎜Grâce au module de sous-processus, nous pouvons facilement exécuter des commandes externes en Python et obtenir la sortie et le code de retour de la commande. Cet article présente trois méthodes couramment utilisées : subprocess.run(), subprocess.Popen() et subprocess.call(). Selon les différents besoins, choisissez la méthode appropriée pour exécuter des commandes externes. 🎜🎜J'espère que cet article vous aidera à comprendre comment utiliser le module de sous-processus pour exécuter des commandes externes dans Python 3.x. 🎜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!