好的,所以通常要完成它,您必须重写python print内置函数。但是。。。ipython提供了一些钩子。在
首先需要安装ipython:#bash
sudo pip install ipython
(我正在使用sudo来简单地查找需要访问的文件夹,请进一步阅读)
安装ipython后,ipython extensions文件夹将可用,因此请访问它:
^{pr2}$
在那里创建一个名为print_to_file.py的文件,其内容如下:#python
class PrintWatcher(object):
def __init__(self, ip):
self.shell = ip
def post_execute(self):
with open('/home/turkus/shell.txt', 'a+') as f:
in_len = len(self.shell.user_ns['In'])
i = in_len - 1
in_ = self.shell.user_ns['In'][i]
out = self.shell.user_ns['Out'].get(i, '')
# you can edit this line if you want different input in shell.txt
f.write('{}\n{}\n'.format(in_, out))
def load_ipython_extension(ip):
pw = PrintWa