Vous pouvez utiliser python au lieu de bash avec la bibliothèque ShellPy .
Voici un exemple qui télécharge l'avatar d'un utilisateur Python depuis Github:
import json
import os
import tempfile
# get the api answer with curl
answer = `curl https://api.github.com/users/python
# syntactic sugar for checking returncode of executed process for zero
if answer:
answer_json = json.loads(answer.stdout)
avatar_url = answer_json['avatar_url']
destination = os.path.join(tempfile.gettempdir(), 'python.png')
# execute curl once again, this time to get the image
result = `curl {avatar_url} > {destination}
if result:
# if there were no problems show the file
p`ls -l {destination}
else:
print('Failed to download avatar')
print('Avatar downloaded')
else:
print('Failed to access github api')
Comme vous pouvez le voir, toutes les expressions à l'intérieur du symbole d'accent grave (`) sont exécutées en shell. Et dans le code Python, vous pouvez capturer les résultats de cette exécution et effectuer des actions dessus. Par exemple:
log = `git log --pretty=oneline --grep='Create'
Cette ligne s'exécutera d'abord git log --pretty=oneline --grep='Create'
dans le shell, puis affectera le résultat à la variable de journal. Le résultat a les propriétés suivantes:
stdout tout le texte de stdout du processus exécuté
stderr tout le texte de stderr du processus exécuté
code retour code retour de l'exécution
Ceci est un aperçu général de la bibliothèque, une description plus détaillée avec des exemples peut être trouvée ici .