24

我已经尝试了很多raw_input("")在 python 控制台上运行,但这给出了一个错误。此外,我还观看了一些可能是在旧 python 上制作的视频。所以input("")是唯一的方法,为什么raw_input("")在新版本中被丢弃有什么原因吗?

4

3 回答 3

50

raw_input()input()在 Python v3.x中重命名为

input()的已经消失了,但你可以模仿它eval(input())

Python 3 中的新功能将提到这一点(以及更多):

PEP 3111: raw_input() 被重命名为input()。也就是说,新的 input() 函数从 sys.stdin 中读取一行并将其返回,并去掉尾随的换行符。如果输入过早终止,它会引发 EOFError 。要获取 input() 的旧行为,请使用 eval(input())。

于 2012-06-04T17:35:50.797 回答
5

Python 3.xinput python 2.x 的raw_input。该功能刚刚被重命名,因为旧的 2.xinput被设计破坏,因此在 3.x 中被删除。

于 2012-06-04T17:37:19.263 回答
0

原因是旧的 input() 函数试图将您键入的内容转换为 Python 代码。它会产生很多安全问题,这主要是为什么它被丢弃为 raw_input 而是重命名为 input() 因为,你知道,我们程序员有点懒惰,输入 input() 而不是 raw_input 少了 4 个字符。 ..

于 2018-07-22T07:13:26.927 回答