python中的输入不等待我在PyCharm中的输入

时间:2016-03-06 16:09:11

标签: python input pycharm

我正在使用PyCharm 5.04和Python 3.4作为解释器。 我不能在我的代码中使用input()函数并只是运行它(Shift + F10),因为PyCharm没有给我机会输入我的输入。这是代码:

x=''
while x!='stop':
    x=input('enter x')
    print(x)
print(x)

如果我运行它,我会看到:

enter x
enter x
enter x
.....

但是,如果我突出显示代码,单击鼠标右键并在上下文菜单中选择“在控制台中执行选择”,一切都会正常工作。此外,我可以在我的鳕鱼的开头添加一个字符串'来自sys import argv',通过输入'python name_of_script.py'在终端执行它,一切都会正常工作(以防万一,我有ubuntu 15.10)。

我的PyCharm设置有问题吗?我应该怎么做才能通过简单的运行来执行代码(使用Shift + F10,因为我习惯了)? 如果它没有input(),我对任何其他代码都没有问题。

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:3)

我发布这个答案是为了解决我遇到的这个问题的细微变化,其中Python控制台不允许我输入我的输入,但与你的情况不同,不会继续循环。

我通过点击工具栏(运行/调试配置)上的“编辑配置”解决了问题,并在输出中禁用“Emulate terminal”选项控制台“即可。

希望那些有同样问题的人会偶然发现这个问题(正如我所做的那样)。

编辑:在图片中:

Click on the dopdown displaying the name of the file you're working on

Click on "edit configurations"

Uncheck "Emulate terminal in output console"

我没有尝试过使用远程解释器的解决方案。

答案 1 :(得分:2)

您的代码似乎很好。我怀疑你所看到的是由运行/调试配置问题引起的,这可能是各种意外行为的根源。

我建议你这样做以确定错误:

  • 使用CTRL-Shift-F10运行代码以确保您正在运行当前文件,而不是项目中的其他文件。如果这样可以解决问题,您只需在屏幕右上角的下拉菜单中选择要运行Shift-F10的文件即可,只需选择"播放"按钮

  • 将代码复制到一个全新的项目,然后从那里运行。如果这可以解决问题,那就意味着您的代码很好,而且问题很可能是运行/调试配置问题。

  • 如果您确认上述步骤中的代码正常但无法从头开始,则可以通过选择"编辑"来编辑运行/调试配置。在屏幕右上角的下拉菜单中,靠近"播放"按钮。

答案 2 :(得分:1)

我的情况不是通常的,也不是专门针对PyCharm的,但是如果有人遇到与我相同的问题:

对我来说,问题是由于在while循环中,当input()提示时,我粘贴了包含一些空行的多行输入引起的。

解决方案是使我对input()的使用适应多行,如下所述:How to get multiline input from user

答案 3 :(得分:0)

input_string = ""

stop_code = 'stop'


try:
    while input_string != stop_code:
        input_string = input('Enter a value: \n')
        print input_string
except Exception as e:
    print e

希望这是你所需要的,这对我很有用......