gpt4 book ai didi

python - Komodo - 在程序暂停时观察变量并执行代码

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:00 29 4
gpt4 key购买 nike

在 Visual Studio IDE 中使用 c#,我可以随时暂停程序并观察它的变量,检查我想要的任何内容。我注意到,使用 Komodo IDE 时,当出现崩溃并停止程序运行时,我可以做同样的事情。但是由于某种原因,当我手动暂停程序时尝试执行相同的操作时,似乎无法实现相同的操作。我做错了什么还是不可能的?在后一种情况下,有人可以向我解释为什么吗?是IDE相关还是Python相关?

谢谢

编辑:另一个问题,我怎样才能继续这个程序?据我所知,在我调用 code.interact(local = locals()) 之后,它的行为就像程序仍在运行一样,所以我无法单击“运行”按钮,只能单击“暂停”或“关闭”。

最佳答案

如果你把

import code
code.interact(local=locals())

在你的程序中,然后你将被转储到 python 解释器。 (参见 Method to peek at a Python program running right now)

这与暂停 Komodo 略有不同,但也许您可以使用它来实现相同的目标。

按 Ctrl-d 退出 python 解释器并允许您的程序继续。

您可以使用回溯模块检查调用堆栈:

import traceback
traceback.extract_stack()

例如,这是一个打印调用堆栈的装饰器:

def print_trace(func):
'''This decorator prints the call stack
'''
def wrapper(*args,**kwargs):
stacks=traceback.extract_stack()
print('\n'.join(
[' '*i+'%s %s:%s'%(text,line_number,filename)
for i,(filename,line_number,function_name,text) in enumerate(stacks)]))
res = func(*args,**kwargs)
return res
return wrapper

像这样使用它:

@print_trace
def f():
pass

关于python - Komodo - 在程序暂停时观察变量并执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711193/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com