Maison > développement back-end > Tutoriel Python > Explication détaillée de trois méthodes d'exécution de commandes shell en python

Explication détaillée de trois méthodes d'exécution de commandes shell en python

高洛峰
Libérer: 2018-05-12 16:09:48
original
2259 Les gens l'ont consulté

Récemment, il est nécessaire d'exécuter des commandes shell sur la page

La première est os.system

Le code est le suivant :

os.system('cat /proc/cpuinfo')
Copier après la connexion
<🎜. >Mais j'ai trouvé que sur la page Le résultat de l'exécution de la commande imprimé est 0 ou 1, ce qui bien sûr ne répond pas aux exigences.

Essayez la deuxième solution os.popen()

Le code est le suivant :

output = os.popen(&#39;cat /proc/cpuinfo&#39;)
print output.read()
Copier après la connexion
Ce qui est renvoyé via os.popen() est l'objet de lecture du fichier . Effectuez l'opération read() pour voir le résultat de l'exécution. Mais la valeur de retour de l'exécution du programme ne peut pas être lue)

Essayez la troisième solution commands.getstatusoutput() Vous pouvez obtenir la valeur de retour et la sortie dans une seule méthode, qui est très simple à utiliser.

Le code est le suivant :

(status, output) = commands.getstatusoutput(&#39;cat /proc/cpuinfo&#39;)
print status, output
Copier après la connexion
Un exemple donné dans le document Python,

Le code est le suivant :

>>> import commands
>>> commands.getstatusoutput(&#39;ls /bin/ls&#39;)
(0, &#39;/bin/ls&#39;)
>>> commands.getstatusoutput(&#39;cat /bin/junk&#39;)
(256, &#39;cat: /bin/junk: No such file or directory&#39;)
>>> commands.getstatusoutput(&#39;/bin/junk&#39;)
(256, &#39;sh: /bin/junk: not found&#39;)
>>> commands.getoutput(&#39;ls /bin/ls&#39;)
&#39;/bin/ls&#39;
>>> commands.getstatus(&#39;/bin/ls&#39;)
&#39;-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls&#39;
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:php.cn
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