Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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 shell_Python - Fatal编程技术网

如何停止python脚本执行并最终进入python shell

如何停止python脚本执行并最终进入python shell,python,Python,Octave有一个键盘函数,可以停止脚本的执行,并将您放入交互式Octave shell中,因此可以在该点检查变量并执行其他调试操作 python中有类似的东西吗?有。但在运行脚本时,必须使用-i选项: 编辑 实际上,您正在寻找python调试器,pdb。因此,你必须: import pdb # some code my_var = 1 pdb.set_trace() print(my_var) 这将使您进入python调试器。这是一个相当广泛的话题,最好从阅读pdb开始,pdb是调试的正确

Octave有一个
键盘
函数,可以停止脚本的执行,并将您放入交互式Octave shell中,因此可以在该点检查变量并执行其他调试操作

python中有类似的东西吗?

有。但在运行脚本时,必须使用
-i
选项:

编辑 实际上,您正在寻找python调试器,
pdb
。因此,你必须:

import pdb

# some code
my_var = 1
pdb.set_trace()
print(my_var)

这将使您进入python调试器。这是一个相当广泛的话题,最好从阅读pdb开始,pdb是调试的正确答案,但有时有常规的REPL也不错:

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

Python是否支持从主线程返回
?或者类似于
cmd
中的
EXIT/B
?如果是这样的话,这些将是对OP的更合适的回答。因此,如果我使用-I标志运行脚本,那么在“my_var=1”行之后要退出python shell,我必须做些什么?@TheIncorrigible1我不确定您的意思。我不熟悉
cmd
,但那将如何打开一个交互式shell?@facha ah,那么您必须使用python调试器,即
导入pdb然后
pdb。在你的行之后设置跟踪()
。太好了。正是我需要的。谢谢。
>>> import code
>>> code.interact(local=locals())