在Spyder IDE中,input()与感叹号(!)很奇怪

时间:2014-12-02 11:02:24

标签: python python-3.x input spyder

input()函数使用WinPython 3.3.5在Spyder IDE中的某些输入上返回奇怪的值:

>>>input('say:')
say:hello
hello
>>>input('say:')
say:hello!
hello!
>>>input('say:')
say:!
'evalsc(r"!")'
>>>input('say:')
say:!123
'evalsc(r"!123")'
>>>s = input('say:')
say:!
>>>type(s)
<class 'str'>
>>>repr(s)
'\'evalsc(r"!")\''

为什么input()以这种奇怪的方式处理引发的感叹号?

有趣的是,如果我从命令行运行相同的python,一切正常。 但是,在Spyder IDE中,它让我很傻。

1 个答案:

答案 0 :(得分:5)

Spyder dev here )这是一个错误。我们在Python( not IPython)控制台中使用!来运行一些与有效Python语法不对应的特殊命令(例如!ls列出文件中的文件目前的工作目录)。

有一个issue开放。我们将在下一个版本(2.3.3)中尝试修复它。