python - 如何使用键盘在 Spyder3 中手动中止 Python3 脚本
问题描述
如何abort/stop
使用 Spyder 手动(我称之为 KeyboardInterrupt)执行 Python3 脚本?
当我单击run file
或run current cell
时,没有什么可以阻止脚本的执行,直到它完成。
Python 3.7.0 64 位、Qt 5.9.6、PyQt5 5.9.2、Spyder 3.3.4、Anaconda 3 64 位、Windows 10 64 位
Ctrl + C
不起作用, Ctr+X
不起作用,IPython 控制台中的红色“停止当前命令”按钮不起作用。
我可以停止正在运行的脚本的唯一方法是通过菜单控制台>重新启动内核。
此示例代码显示 KeyboardInterrupt 在 Spyder 中不起作用,在下面的 3 个部分中都没有。
@author: xynxnex'''
#%%
def hello():
print('Hello Spyder '+str(nr))
import time
nr = 0
while nr < 42:
nr +=1
hello()
time.sleep(1)
#%% loop in function
def hello(n):
nr = 0
while nr < n: #n is a local variable, thus not shown in Variable explorer
nr +=1 #nr is a local variable, thus not shown in Variable explorer
print('Hello Spyder '+str(nr))
time.sleep(1)
return n
import time
x = hello(42) #
#%% just a simple loop
import time
nr = 0
while nr < 42:
nr +=1
print('Hello Spyder '+str(nr))
time.sleep(1)
没有错误,但循环只是继续执行直到完成。
解决方案
Ctrl c(不是大写 c)为我产生了键盘中断。Spyder 3.3.6 Python 3.6.8 64 位 | Qt 5.9.6 | PyQt5 5.9.2 | 视窗 10
#%% just a simple loop
import time
nr = 0
while nr < 42:
nr +=1
print('Hello Spyder '+str(nr))
time.sleep(1)
Hello Spyder 1
Hello Spyder 2
Traceback (most recent call last):
File "<ipython-input-23-b2c4320912d9>", line 7, in <module>
time.sleep(1)
KeyboardInterrupt
推荐阅读
- javascript - pg-promise TypeError:无效的“选项”参数
- javascript - java - 如何在java脚本中从值文件输入复制到动态输入文件值?
- python - 在 Django 中加载媒体文件
- unity3d - 我应该在两边都添加信息吗
- vagrant - 跳过/忽略 vagrant up 的启动错误
- wordpress - 如何通过钩子更改或修改 woocommerce 管理订单标题?
- c# - 无法以以下格式添加 Jproperty 值 ["r0"]
- solr - 为什么@SolrDocument 不创建集合/核心,如果它不存在并抛出 404 错误
- jupyter-notebook - ImportError:通过 SSH 运行时没有名为 jupyter_core.command 的模块
- node.js - 节点:Node-sass 在 npm install 上不包含“供应商”文件 =>“错误:ENOENT:没有这样的文件或目录,scandir '...\node-sass\vendor'”