2013-07-16 17 views
8

Bir ipython dizüstü bilgisayar hücresini veya birkaç hücresini bir dosyaya veya yapıştırıcıya kaydetmek çok kolaydır.IPython: bir hücrenin çıktısını bir dosyaya hızla dökün

Ancak bazen bazı işlemlerin çıktısını dosyaya dökmek istiyorum. Bunu yapmanın en hızlı yolu nedir?

Out[56] is neither a string nor a macro. 

Ve bunu yaparsam:

%save output Out[56] 

bana verir

%save output str(Out[56]) 

O çalışıyor ancak ben çok desenli biçimi bozulur ve otomatik bir .py uzantısı eklenmiş olması çıktı dosya adı.

cevap

1

İade bir nesne __str__ ve __repr__ yöntemler sağlıyorsa oldukça desenli biçimlendirme o

uzantısı .py veya .ipy ipython büyüler çekirdeğinde kodlanma yardımcı olabilecek

%save output repr(_56) 

denemek tutmak için. Bu yüzden her seferinde yeniden adlandırmak daha kolay. veya \ ipython \ çekirdek \ büyüler \ code.py, hat 188 IPython, değişikliği ... güncellemek için planlama değildir:

if not fname.endswith((u'.py',u'.ipy')): 
     pass #fname += ext 
+0

Ayrıca söyleyebiliriz: % çıkış repr kaydet (_I) * _i'nin önceki girdi olduğunu unutmayın * – brianray