Je suis récemment passé à utiliser les ordinateurs portables IPython dans le cadre de mon flux de travail. Cependant, je n'ai pas réussi à trouver un moyen d'importer des fichiers .py dans les cellules individuelles d'un bloc-notes IPython ouvert afin qu'ils puissent être modifiés, exécutés puis sauvegardés. Cela peut-il être fait?
J'ai trouvé this dans la documentation, qui indique comment importer des fichiers .py sous forme de nouveaux cahiers, mais cela ne correspond pas à l'objectif que je souhaite atteindre.
Toute suggestion serait très appréciée.
EDIT: à partir de IPython 3 (maintenant le projet Jupyter), le bloc-notes est doté d'un éditeur de texte qui peut être utilisé comme alternative plus pratique pour charger/éditer/sauvegarder des fichiers texte.
Un fichier texte peut être chargé dans une cellule de bloc-notes avec la commande magique %load
.
Si vous exécutez une cellule contenant:
%load filename.py
le contenu de filename.py
sera chargé dans la cellule suivante. Vous pouvez l'éditer et l'exécuter comme d'habitude.
Pour enregistrer le contenu de la cellule dans un fichier, ajoutez Cell-magic %%writefile filename.py
au début de la cellule et exécutez-le. Attention, si un fichier portant le même nom existe déjà , il sera automatiquement remplacé .
Pour voir l'aide pour toute commande magique, ajoutez un ?
: comme %load?
ou %%writefile?
.
Pour obtenir une aide générale sur les fonctions magiques, tapez "% magic". Pour obtenir une liste des fonctions magiques disponibles, utilisez% lsmagic. Pour obtenir une description de l’un d’eux, tapez% magic_name?, Par exemple. '%CD?'.
Voir aussi: Fonctions magiques dans la documentation officielle IPython.
%%writefile myfile.py
-a
pour l'ajouter). Un autre alias: %%file myfile.py
%run myfile.py
%load myfile.py
%lsmagic
%COMMAND-NAME?
%run?
Outre les commandes magiques de cellule, le cahier IPython (maintenant le cahier Jupyter) est tellement cool qu'il vous permet d'utiliser n'importe quelle commande unix directement à partir de la cellule (cela équivaut également à utiliser la commande magique %%bash
cell.).
Pour exécuter une commande unix à partir de la cellule, faites précéder votre commande de la marque !
. par exemple:
!python --version
voyez votre version python!python myfile.py
lance myfile.py et génère les résultats dans la cellule actuelle, tout comme %run
(voir la différence entre !python
et %run
dans les commentaires ci-dessous).Voir aussi this nbviewer pour plus d'explications avec des exemples. J'espère que cela t'aides.
Glissez-déposez un fichier Python dans le tableau des carnets de notes "maison" des notebooks Ipython, cliquez sur télécharger. Cela créera un nouveau bloc-notes avec une seule cellule contenant le contenu de votre fichier .py.
Sinon copier/coller depuis votre éditeur préféré;)
J'ai trouvé satisfaisant d'utiliser ls et cd dans ipython notebook pour trouver le fichier. Ensuite, tapez cat votre_nom_fichier dans la cellule et vous récupérerez le contenu du fichier, que vous pourrez ensuite coller dans la cellule en tant que code.