Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在特定脚本行上启动交互模式_Python_Interactive - Fatal编程技术网

Python 在特定脚本行上启动交互模式

Python 在特定脚本行上启动交互模式,python,interactive,Python,Interactive,我需要像往常一样运行Python脚本,但我想停止特定行上的执行并启动交互模式 换句话说,我希望能够在该点检查所有变量的值,然后在python的命令行上继续检查 如何执行此操作?使用调试器并添加断点。你使用IDE吗?所有主要的IDE都支持调试器。在CLI中,您可以使用pdb这可以通过code模块完成。最简单的方法是调用。这不完全是您想要的,但是您可以通过在希望程序中断的任何位置添加以下行,轻松地将程序中断到pdb(Python调试器): import pdb; pdb.set_trace() 然

我需要像往常一样运行Python脚本,但我想停止特定行上的执行并启动交互模式

换句话说,我希望能够在该点检查所有变量的值,然后在python的命令行上继续检查


如何执行此操作?

使用调试器并添加断点。你使用IDE吗?所有主要的IDE都支持调试器。在CLI中,您可以使用
pdb

这可以通过
code
模块完成。最简单的方法是调用。

这不完全是您想要的,但是您可以通过在希望程序中断的任何位置添加以下行,轻松地将程序中断到pdb(Python调试器):

import pdb; pdb.set_trace()
然后,您可以轻松地检查如下变量:

p variable_name
您还可以单步、继续等


有关pdb的更多详细信息。

除非您出于生产目的需要此功能,否则我认为最好的方法是使用交互式调试器:

为其他目的考虑考虑在代码上执行方面,使用装饰器从方法类获得运行时特性:


如果调试模式是我上面描述的,那么是!只要您试图调试代码,答案中的方法就是您应该采用的方法。如果您作为用户而不是脚本的开发人员确实需要这种功能,那么您应该考虑如何在脚本执行期间接受用户输入,或者将代码重新组织为函数、方法和模块。您确定吗?它看起来只是打开了一个python shell,就这样。我无法在我的代码中查找以前定义的任何变量,因此我不知道如何使用此函数。@Ricky您必须使用
local
参数:
code.interact(local=locals())