[PYTHON] Script avec des commandes externes au pavé

La partie de Python qui ressemble le moins au langage de script est que vous devez ```importer un sous-processus; subprocess.call ("ls -l") `` pour exécuter une commande externe, ce qui est ennuyeux.

Paver définit une fonction sh () '' qui facilite l'exécution de commandes externes. Cela peut également être importé avec from paver.easy import * ''.

Comment utiliser

Si vous écrivez sh ("ls -l /"), la commande sera exécutée via le shell.

Capturer

Par défaut, la sortie de la commande exécutée est affichée telle quelle dans la sortie standard, mais si vous spécifiez capture = True

pavement.py


from paver.easy import *
import os

@task
def list():
    ret = sh("ls -l /", capture=True)
    print(len(ret.splitlines()))
$ paver list
---> pavement.list
ls -l /
22

dryrun Comme les méthodes de la classe path, la fonction `` sh () '' affiche uniquement la commande et ne l'exécute pas réellement lorsque le paver est exécuté en mode dryrun.

pavement.py


from paver.easy import *

@task
def barusu():
    sh("rm -rf /")
$ paver -n barusu
---> pavement.barusu
rm -rf /

Recommended Posts

Script avec des commandes externes au pavé
Script avec la définition de la commande Paver
Exécuter périodiquement des commandes avec crontab
Commandes lors de la création de SNS avec Django
Traitez les commandes externes comme des fonctions avec sh