Comment appeler des commandes système en Python

PHPz
Libérer: 2023-05-22 23:19:10
avant
2013 Les gens l'ont consulté

1. Méthode os.system

Cette méthode appelle directement la fonction system() du standard C. Elle exécute uniquement la commande système dans un sous-terminal et ne peut pas obtenir les informations de retour après l'exécution de la commande.

La valeur de retour de os.system(cmd). Si l'exécution réussit, 0 sera renvoyé, indiquant que la commande a été exécutée avec succès. Sinon, c'est une erreur d'exécution.

La valeur de retour de l'utilisation de os.system est le code d'état de sortie du script. Cette méthode renvoie un nombre binaire de 16 bits après l'appel du script shell. Le chiffre faible est le numéro de signal pour tuer le script appelé, et le chiffre élevé. digit est le code d'état de sortie du script.

os.system() renvoie une valeur de 0 et la commande Linux renvoie une valeur de 0. La valeur de retour de

os.system() est 256, le nombre binaire à seize chiffres est affiché comme : 00000001, 00000000, les huit bits de poids fort sont convertis en décimal 1, ce qui correspond à la valeur de retour de la commande Linux 1. La valeur de retour de

os.system() est 512, le nombre binaire à seize chiffres est affiché comme : 00000010, 00000000, les huit bits de poids fort sont convertis en décimal 2, ce qui correspond à la valeur de retour de la commande Linux 2.

import os
result = os.system('cat /etc/passwd')
print(result)      # 0
Copier après la connexion

2. Méthode os.popen

La méthode os.popen() exécute non seulement la commande mais renvoie également l'objet d'information après l'exécution (souvent utilisée pour obtenir les informations de retour après l'exécution de la commande. Elle renvoie le résultat via). un fichier pipeline. Ce qui est renvoyé par os.popen() est l'objet de lecture du fichier. Vous pouvez voir le résultat de l'exécution en le lisant avec read().

import os
result = os.popen('cat /etc/passwd')
print(result.read())
Copier après la connexion

3. module de commandes

import commands
status = commands.getstatus('cat /etc/passwd')
print(status)
output = commands.getoutput('cat /etc/passwd')
print(output)
(status, output) = commands.getstatusoutput('cat /etc/passwd')
print(status, output)
Copier après la connexion

4. module de sous-processus

Subprocess est un puissant module de gestion de sous-processus qui remplace os.system, os.spawn* et d'autres méthodes.
Lorsque les paramètres ou retours de la commande d'exécution contiennent des caractères chinois, il est recommandé d'utiliser un sous-processus.

import subprocess
res = subprocess.Popen('cat /etc/passwd', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) # 使用管道
print res.stdout.read()  # 标准输出
for line in res.stdout.readlines():
    print line
res.stdout.close()         # 关闭
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal