Passer des arguments de ligne de commande à argv dans le cahier jupyter / ipython
Je me demandais si il est possible de remplir sys.argv
(ou d'une autre structure) avec des arguments de ligne de commande dans un jupyter/ipython notebook, semblable à la façon dont c'est fait par le biais d'un script python.
Par exemple, si je devais exécuter un script python comme suit:
python test.py False
Puis sys.argv
contient les argument False
. Mais si je lance un jupyter ordinateur portable dans une manière similaire:
jupyter notebook test.ipynb False
Ensuite l'argument de ligne de commande est perdue. Est-il possible d'accéder à cet argument de l'intérieur de l'ordinateur portable lui-même?
source d'informationauteur justadampaul
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de recherche, j'ai trouvé très lourd, des bibliothèques personnalisées, mais résolu avec un peu de lignes de code qui m'a semblé assez lisse. J'ai utilisé nbconvert à la fin avec un rapport html de sortie qui contient tous les graphiques et les démarques de l'ordinateur portable, mais accepte les paramètres de ligne de commande seulement, comme toujours à travers un minimum de wrapper python:
Le fichier python test_args.py (ce qui prend de la ligne de commande params comme d'habitude):
Le cahier contient:
et je peux lancer python portable avec des arguments analysée comme d'habitude:
J'ai tendance à coller le bloc avec argparse d'appels dans le wrapper python, de sorte que la ligne de commande des erreurs sont détectées par le script python et -h fonctionne correctement.
Je pense que ce Gist peuvent vous aider à : https://gist.github.com/gbishop/acf40b86a9bca2d571fa
C'est une tentative à un simple argument de l'analyseur pour la plupart des paires valeur /clé qui peut être utilisé à la fois sur la ligne de commande et dans IPython notebook. Il charge les paramètres de requête dans le cahier des Url et un ordre de marche pour les ordinateurs portables.
vous pouvez utiliser Jupyter construire-dans la magie de commande
%run
à l'intérieur de l'ordinateur portable.De cette lienvous pouvez utiliser:
%run -p [prof_opts] filename.py [args to program]
Ou quelque chose comme
%run -i script.py False
Ou si vous analysez les arguments
%run -i script.py --flag1 False --flag2 True