J'ai reçu un commentaire dans l'article Dernière fois, je vais donc vous montrer comment exécuter un script depuis Jupyter. Votre art de la coquille brillera encore plus avec Jupyter. : star2:
Utilisez la magie des cellules %% script
pour exécuter le script passé en argument. Par exemple, %% script python3.7
exécutera Python3.7, et %% script bash
exécutera bash. Entrez le contenu du script directement dans la cellule.
J'essaierai d'exécuter bash.
%%script bash
for i in 1 2 3 ; do
echo $i
done
1
2
3
J'ai pu exécuter le bash écrit dans la cellule de Jupyter. L'avantage de l'exécution avec Jupyter est que vous pouvez traiter et visualiser les résultats.
À titre d'exemple, exécutons un script pour obtenir le nombre de processus et visualiser le résultat avec des pandas.
%%script bash --out bash_out
echo "date,procs"
for i in `seq 10` ; do
echo "`date +%Y-%m-%d-%H:%M:%S`,`ps -ef | grep -cv grep`"
sleep 5
done
Vous pouvez le stocker dans un objet Python avec le nom que vous avez passé dans l'option --out
.
print(bash_out)
date,procs
2019-12-06-10:49:21,337
2019-12-06-10:49:26,340
2019-12-06-10:49:31,340
2019-12-06-10:49:36,342
2019-12-06-10:49:41,340
2019-12-06-10:49:46,341
2019-12-06-10:49:51,344
2019-12-06-10:49:56,343
2019-12-06-10:50:01,342
2019-12-06-10:50:06,341
Chargez ceci dans le DataFrame des pandas.
from io import StringIO
import pandas as pd
df = pd.read_csv(StringIO(bash_out), index_col=["date"], parse_dates=["date"])
print(df)
procs
date
2019-12-06 10:49:21 337
2019-12-06 10:49:26 340
2019-12-06 10:49:31 340
2019-12-06 10:49:36 342
2019-12-06 10:49:41 340
2019-12-06 10:49:46 341
2019-12-06 10:49:51 344
2019-12-06 10:49:56 343
2019-12-06 10:50:01 342
2019-12-06 10:50:06 341
Rendez-le visible rapidement avec la méthode plot
.
%matplotlib inline
df.plot()
De cette manière, Jupyter peut exécuter des scripts arbitraires et traiter les résultats avec des objets Python. Bonne vie à Jupyter!
Recommended Posts