Ik ben onlangs overgestapt op het gebruik van IPython-notitieboeken als onderdeel van mijn werkstroom. Ik ben er echter niet in geslaagd een manier te vinden om .py-bestanden te importeren in de individuele cellen van een open IPython-notitieblok, zodat ze kunnen worden bewerkt, uitgevoerd en vervolgens opgeslagen. Kan dit gedaan worden?
Ik'heb dit gevonden in de documentatie die me vertelt hoe ik .py-bestanden als nieuwe notitieblokken kan importeren, maar dit schiet tekort voor wat ik wil bereiken.
Alle suggesties zouden zeer gewaardeerd worden.
EDIT: Vanaf IPython 3 (nu Jupyter project), heeft de notebook een tekst editor die gebruikt kan worden als een handiger alternatief voor tekstbestanden te laden/bewerken/opslaan.
Een tekstbestand kan worden geladen in een notebook cel met het magische commando %load
.
Als u een cel uitvoert met daarin:
%load filename.py
zal de inhoud van filename.py
in de volgende cel geladen worden. U kunt het zoals gewoonlijk bewerken en uitvoeren.
Om de inhoud van de cel op te slaan in een bestand voeg je de cel-magie %%writefile filename.py
toe aan het begin van de cel en voer je het uit. Let op dat als er al een bestand met dezelfde naam bestaat dit stilletjes overschreven zal worden.
Om de help voor een magisch commando te zien, voeg een ?
toe: zoals %load?
of %writefile?
.
Voor algemene hulp bij magic functies typ "%magic" Voor een lijst van de beschikbare magic functies, gebruik %lsmagic. Voor een beschrijving van een van deze functies, type %magic_name?, bijv. '%cd?'.
Zie ook: Magische functies uit de officiële IPython docs.
Ik heb het bevredigend gevonden om ls en cd te gebruiken binnen ipython notebook om het bestand te vinden. Typ dan cat your_file_name in de cel, en je'll krijgt de inhoud van het bestand terug, die je dan in de cel kunt plakken als code.