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 中,它把我当傻瓜。
最佳答案
(这里是 Spyder 开发人员)这是一个错误。我们在 Python(不是 IPython)控制台中使用 !
来运行一些不符合有效 Python 语法的特殊命令(例如 !ls
列出当前工作目录中的文件)。
有一个issue为它打开。我们将尝试在下一个版本 (2.3.3) 中修复它。
关于python - input() 在 Spyder IDE 中带有感叹号 (!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27247786/