3

我不小心尝试在 numpy 中创建一个 200,000 x 200,000 的数组。Control-C 似乎没有中断操作。有没有办法在不简单地杀死 python 会话的情况下停止数组创建?

4

2 回答 2

2

很不幸的是,不行。Python(和 MatLab,我使用的唯一其他分析包)在当前操作(未运行)完成之前不会检测到用户中断。

于 2012-09-25T15:47:02.330 回答
1

这不起作用的原因是 numpy 有很大一部分是用 C 编写的。

当 Python 开始执行编译函数时,Python 信号处理实际上会暂停,直到编译代码的执行完成。

这对您的交互式 Python 会话来说是个坏消息,但除了等待不可避免的 OutOfMemoryError 或终止会话之外,您无能为力。

于 2013-09-18T04:54:22.257 回答