Comment charger/modifier/exécuter/enregistrer des fichiers texte (.py) dans une cellule de bloc-notes IPython ?

StackOverflow https://stackoverflow.com//questions/21034373

Question

J'ai récemment commencé à utiliser des notebooks 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 enregistrés.Est-ce possible ?

J'ai trouvé ce dans la documentation qui m'explique comment importer des fichiers .py en tant que nouveaux blocs-notes, mais cela n'est pas à la hauteur de ce que je souhaite réaliser.

Toutes les suggestions seraient très appréciées.

Était-ce utile?

La solution

MODIFIER:À partir de IPython 3 (maintenant Jupyter Project), le cahier a un éditeur de texte qui peut être utilisé comme une alternative plus pratique pour charger / modifier / enregistrer des fichiers texte.

Un fichier texte peut être chargé dans une cellule de notebook 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 le modifier et l'exécuter comme d'habitude.

Pour enregistrer le contenu de la cellule dans un fichier, ajoutez le cell-magic %%writefile filename.py au début de la cellule et exécutez-la.Attention, si un fichier du même nom existe déjà il sera écrasé silencieusement.

Pour voir l'aide d'une commande magique, ajoutez un ?:comme %load? ou %%writefile?.

Pour une aide générale sur les fonctions magiques tapez "% magic" pour une liste des fonctions magiques disponibles, utilisez% lsmagic.Pour une description de l'un d'eux, tapez% magic_name?, Par exemple'%CD?'.

Voir également: Fonctions magiques à partir de la documentation officielle d'IPython.

Autres conseils

Pour écrire/enregistrer

%%writefile myfile.py

  • écrire/enregistrer le contenu des cellules dans myfile.py (utilisez -a à ajouter).Un autre pseudo : %%file myfile.py

Courir

%run myfile.py

  • exécutez myfile.py et affichez les résultats dans la cellule actuelle

Pour charger/importer

%load myfile.py

  • charger "importer" myfile.py dans la cellule actuelle

Pour plus de magie et d'aide

%lsmagic

  • répertoriez toutes les autres commandes magiques cellulaires intéressantes.

%COMMAND-NAME?

  • pour obtenir de l'aide sur la façon d'utiliser une certaine commande.c'est à dire. %run?

Note

Outre les commandes Cell Magic, le notebook IPython (maintenant le notebook Jupyter) est tellement cool qu'il vous permet d'utiliser n'importe quelle commande Unix directement depuis la cellule (cela équivaut également à utiliser le %%bash commande de magie cellulaire).

Pour exécuter une commande Unix à partir de la cellule, faites simplement précéder votre commande de ! marque.Par exemple:

  • !python --version voir ta version de python
  • !python myfile.py exécutez myfile.py et affichez les résultats dans la cellule actuelle, tout comme %run (voir la différence entre !python et %run dans les commentaires ci-dessous).

Regarde aussi ce nbviewer pour plus d’explications avec des exemples.J'espère que cela t'aides.

Faites glisser et déposez un fichier Python dans la table des ordinateurs portables Ipython Notebooks, cliquez sur Télécharger.Cela créera un nouvel ordinateur portable avec une seule cellule contenant votre contenu de fichier .py

sinon copier / coller de votre éditeur préféré;)

J'ai trouvé cela satisfaisant d'utiliser LS et CD dans Ipython Notebook pour trouver le fichier.Ensuite, tapez chat votre_file_name dans la cellule et vous récupérerez le contenu du fichier, que vous pouvez ensuite coller dans la cellule sous forme de code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top