comment faire pour enregistrer la sortie d'une cellule dans iPython notebook?

Je voudrais être en mesure de sauver le TEXTE de sortie de iPython notebook cellule dans un fichier sur le disque.

J'ai 2 autres exigences ou demandes:

  • être en mesure de ré-exécuter la cellule et d'écraser ma sortie avec tout ce que la dernière est.
  • également afficher la sortie dans le cahier.

J'ai compris comment utiliser le %%capture de la magie de base enregistrement d'un iPython notebook de la cellule dans un fichier, mais il ne semble pas assez souple: il garde en ajoutant à chaque fois que je ré-exécuter la cellule et je ne parviens pas à afficher dans la même cellule.

Voici ce que j'ai à ce jour:

%%capture cap --no-stderr
print 'stuff'
with open('output.txt', 'w') as f:
    f.write(cap.stdout)

# clear the cap by deleting the variable here?
# del cap 

Quand j'essaie de mettre cap.show() après l'écriture, il ne semble pas à l'écran. Au lieu de cela, il met à la sortie de la pac variable deux fois.

Voulez-vous tous sortie textuelle ou juste celui qui a été créé par l'impression des déclarations? En raison de la IPython d'affichage de machines de tous les objets ont une représentation textuelle, donc il n'y a plus de texte dans le bloc-notes que visible en premier lieu.
Si vous êtes juste après l'impression des déclarations, avoir un regard sur les réponses à question

OriginalL'auteur pocketfullofcheese | 2015-01-16