Enthought Canopy中的IPython缓冲区和分页

2 投票
3 回答
933 浏览
提问于 2025-04-17 19:28

我在Windows 7上使用Enthought的Python Canopy 0.9.1测试版。我想知道怎么增加我的IPython缓冲区的大小。另外,我还想知道怎么把命令的输出通过分页器处理;现在的输出没有分页。

如果像 如何增加ipython qtconsole的滚动缓冲区限制 或者 如何在ipython中使用管道 这样的现有答案可以解决问题,我不知道怎么在Windows上应用它们。

谢谢!

3 个回答

0

分享一下我自己的解决办法……如果你想看到的输出内容超过了iPython的缓冲区,而且你更关心的是以后查看这些输出(就像我一样),你可以使用iPython的会话记录功能。

你可以这样开始记录:

In []: %logstart -or 文件名

然后在你想停止记录的时候,输入:

In []: %logstop

2

让我补充一下Puneeth的回答,我们的宏框架允许你对应用程序的某些部分进行编程。要用这段代码创建一个新的宏,

  1. 选择工具 > 编辑宏...,然后在新宏窗口的菜单中点击“创建新宏”按钮。

  2. 给宏起个名字,然后在描述宏的文件中,把运行函数替换成Puneeth提供的那个函数。

  3. 你还需要在右下角的面板中创建一个快捷键组合。点击快捷键文本框,输入你选择的快捷键:它会被记录并存储在这里。

保存后就可以使用了。

Jonathan

2

目前没有选项可以增加缓冲区的限制,但你可以用下面的代码创建一个宏,然后运行它。

def run():
    code_task = get_active_task()
    python_pane = code_task.python_pane
    python_pane.frontend.control.buffer_size = 1000

buffer_size 设置为一个非正数值,会关闭缓冲区的剪裁功能,但这个选项是IPython开发者“不推荐”的。

要创建一个新的宏,

  1. 工具 (菜单) > 编辑宏 ...
  2. 点击“创建新宏”按钮,并给这个宏起个合适的名字。
  3. 把上面的代码复制到你的宏里。
  4. 如果你想,可以为运行这个宏设置一个快捷键,方法是点击右下角的快捷键文本框,然后按下你想要的键组合。如果你不想设置快捷键,也可以通过 工具 > 运行宏 > (你的宏) 来运行这个宏。

撰写回答