调试需要控制台输入的Python代码
当需要控制台输入时,如何调试调试需要控制台输入的Python代码,python,debugging,pycharm,Python,Debugging,Pycharm,当需要控制台输入时,如何调试PyCharmIDE中的代码?例如,我有一段代码 # if the config already exists prompt what to do if pc and not self.prompt.ask_yesno('project_ovverride'): self.prompt.say('setup_abort') return 这打断了突出显示的行,由于无法提供控制台输入,
PyCharm
IDE中的代码?例如,我有一段代码
# if the config already exists prompt what to do
if pc and not self.prompt.ask_yesno('project_ovverride'):
self.prompt.say('setup_abort')
return
这打断了突出显示的行,由于无法提供控制台输入,我无法继续。目前,我对此进行了评论,但是,可能还有一种方法可以提供所需的控制台输入
多谢各位 如果您只是想在调试时通过
CLI
进行输入;您可以简单地使用单步进入,如下所示首先在运行配置下启用“使用控制台运行”
在调试器中将选项卡更改为控制台
单击进入
,直到您在控制台中看到问题
根据需要输入答案
单击继续
,或根据需要从调试器执行任何其他操作李>
如果您想通过在CLI
中运行脚本进行调试,您需要在pdb
(Python调试器)的行中查找一些内容。你可以读更多
示例:
(venv) $ python3 -m pdb my_example.py
> /my_example.py(1)<module>()
-> try:
(Pdb) s
> /my_example.py(2)<module>()
-> a = 1 / 0
(Pdb) s
ZeroDivisionError: division by zero
> /my_example.py(2)<module>()
-> a = 1 / 0
(Pdb)
我的示例.py
try:
pdb_test = 1 / 0
except ZeroDivisionError:
print('Argh stop it!')
命令行:
(venv) $ python3 -m pdb my_example.py
> /my_example.py(1)<module>()
-> try:
(Pdb) s
> /my_example.py(2)<module>()
-> a = 1 / 0
(Pdb) s
ZeroDivisionError: division by zero
> /my_example.py(2)<module>()
-> a = 1 / 0
(Pdb)
(venv)$python3-m pdb my_example.py
>/my_example.py(1)()
->尝试:
(Pdb)s
>/my_example.py(2)()
->a=1/0
(Pdb)s
ZeroDivision错误:被零除
>/my_example.py(2)()
->a=1/0
(Pdb)
上面显示的只是我使用s
命令pdb
执行步骤
——在文档中,您可以找到您可能需要使用的所有命令,包括继续
等等。如果您使用的是Pycharm 2018.3或更高版本,您可以将输入重定向到文件。
顺便说一句,我还没有试过这个,但它应该很好用。
首先,我们需要在PyCharm IDE的运行配置中设置使用Python控制台运行
,然后,我们可以在调试软件时将调试器窗口更改为控制台窗口。我提供了说明公式的截图
现在,从调试器切换到控制台并提供所需的输入
你的回答对我有帮助。谢谢。你的回答对我有帮助。谢谢。@Arefe如果您希望调试和修复的多次迭代,请使用此选项。这真的节省了时间。