调试需要控制台输入的Python代码

问题描述 投票:-1回答:3

当需要控制台输入时,如何在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

enter image description here

这突破了突出显示的行,我无法继续无法提供控制台输入。目前,我将其评论出来,但是,可能还有一种方法可以提供所需的控制台输入。

谢谢。

python debugging pycharm
3个回答
0
投票

如果您使用的是Pycharm 2018.3或更高版本,则可以将输入重定向到文件。 PS。我没有试过这个,但它应该工作正常。 Set your input file here


2
投票

如果您只是想在调试时通过CLI输入;你可以简单地使用step into,如下所示。 - 首先在运行配置下启用“使用控制台运行”。

  1. 在调试器中将选项卡更改为console
  2. 单击step into,直到您在控制台中看到问题。
  3. 根据需要输入您的答案。
  4. 根据需要单击continue或调试器中的任何其他操作。

如果您想通过在CLI中运行脚本进行调试,那么您需要查找pdb(Python调试器)的内容。你可以阅读更多here

例:

没有_example.朋友

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) 

以上显示的仅仅是我使用s来命令pdbstep - 在文档中你可以找到你可能想要使用的所有命令,包括continue等等。


0
投票

最初,我们需要在PyCharm IDE的Run配置中设置Run with Python console,然后,我们可以在调试软件时将调试器窗口更改为控制台窗口。我提供了说明公式的截图,

enter image description here

现在,从调试器切换到控制台并提供所需的输入。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.