如何在Python 3中使用raw_input?
import sys
print(sys.platform)
print(2**100)
raw_input()
我在使用Python 3.1,不能让raw_input
冻结" dos弹出。我读的书是针对Python 2.5的,而我用的是Python 3.1。
我应该怎么做才能解决这个问题?
515
7
import sys
print(sys.platform)
print(2**100)
raw_input()
我在使用Python 3.1,不能让raw_input
冻结" dos弹出。我读的书是针对Python 2.5的,而我用的是Python 3.1。
我应该怎么做才能解决这个问题?
从Python 3开始,
raw_input()
被重新命名为input()
。来自 What's New In Python 3.0。
这在Python 3.x和2.x中都适用。
解决这个问题的可靠方法是
6是一个模块,它修补了许多2/3常见的代码基础痛点。
1:
正如其他人所指出的,
raw_input
函数在Python 3.0中已经改名为input
,你确实应该读一本更先进的书,但我想指出,有更好的方法可以看到你的脚本的输出。从你的描述来看,我认为你使用的是Windows,你保存了一个
.py
文件,然后你双击它来运行它。你的程序一结束,弹出的终端窗口就会关闭,所以你无法看到你的程序的结果是什么。为了解决这个问题,你的书建议添加一个raw_input
/input
语句来等待用户按回车键。然而,正如你所看到的,如果出了问题,例如你的程序出错,该语句将不会被执行,窗口将关闭,你无法看到出错的地方。你可能会发现使用命令提示符或IDLE更容易。使用命令提示符
当你看到包含你的Python程序的文件夹窗口时,按住shift键,在窗口的白色背景区域的任何地方点击右键。弹出的菜单应该包含一个条目"Open command window here"。(我想这在 Windows Vista 和 Windows 7 上是可行的。) 这将打开一个命令提示窗口,看起来像这样。
要运行你的程序,请输入以下内容(用你的脚本名称代替)。
...然后按回车键。(如果你得到一个错误,说"python"不是一个可识别的命令,见http://showmedo.com/videotutorials/video?name=960000&fromSeriesID=96 ) 当你的程序运行完毕,不管它是否成功完成,窗口将保持打开,命令提示符将再次出现,供你输入另一个命令。如果你想再次运行你的程序,你可以按向上的箭头调用你之前输入的命令,然后按回车键再次运行它,而不是每次都要输入文件名。
使用IDLE
IDLE是一个简单的程序编辑器,与Python一起安装。在其他功能中,它可以在一个窗口中运行你的程序。在你的
.py
文件上点击右键,选择"在IDLE中编辑"。当你的程序出现在编辑器中时,按F5或从"运行"菜单中选择"运行模块"。你的程序将在一个窗口中运行,该窗口在你的程序结束后保持开放,你可以在其中输入Python命令立即运行。Timmerman'的解决方案在运行代码时效果很好,但如果你不想在使用 pyflakes 或类似的 linter 时得到
Undefined name
错误,你可以使用下面的方法代替。这里有一段我放在脚本中的代码,我想在py2/3-agnostic环境中运行。
现在你可以使用real_raw_input。 它的价格相当昂贵,但短而可读。 使用raw输入通常是很费时间的(等待输入),所以它不重要。
理论上,你甚至可以指定raw_input来代替real_raw_input,但可能有模块会检查raw_input的存在并做出相应的行为。 最好是保持安全的一面。
可能不是最好的解决方法,但在来这里之前,我只是为了在学习中不需要快速休息就能继续工作,临时做了这个。
然后,当我在我正在处理的脚本上运行
raw_input('输入你的名字。 ')
在我工作的脚本上,它就像input()
一样捕获它。可能有一个不这样做的原因,我还没有遇到!