input()函数在带有WinPython3.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"!")\''

为什么用这种奇怪的方式处理感叹号?
有趣的是,如果我从一个命令行运行相同的python,所有的工作都是正确的。
但是,在Spyder IDE中,它扮演了我的傻瓜。

最佳答案

(Spyder dev在这里)这是个错误。我们在Python(不是IPython)控制台中使用!来运行一些与有效Python语法不对应的特殊命令(例如!ls来列出当前工作目录中的文件)。
它有一个issue的开口。我们将在下一个版本(2.3.3)中尝试修复它。

关于python - 在Spyder IDE中,input()的行为很奇怪,带有感叹号(!),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27247786/

10-13 00:10