ShellPy kütüphanesi ile bash yerine python kullanabilirsiniz .
İşte Pithhon kullanıcısının avatarını Github'dan indiren bir örnek:
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')
Gördüğünüz gibi, mezar aksanı (`) sembolünün içindeki tüm ifadeler kabukta yürütülür. Ve Python kodunda, bu yürütmenin sonuçlarını yakalayabilir ve üzerinde eylemler gerçekleştirebilirsiniz. Örneğin:
log = `git log --pretty=oneline --grep='Create'
Bu satır önce kabukta yürütülür git log --pretty=oneline --grep='Create'
ve sonucu log değişkenine atar. Sonuç aşağıdaki özelliklere sahiptir:
stdout yürütülen metnin stdout'undan tüm metni
stderr çalıştırılan işlemin stderr'sinden tüm metni
dönüş kodu yürütmenin dönüş kodu
Bu kütüphaneye genel bir bakıştır, örneklerle daha ayrıntılı bir açıklama burada bulunabilir .