如何在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

我应该怎么做才能解决这个问题?


#1楼

Timmerman的解决方案在运行代码时效果很好,但是如果您不想在使用pyflakes或类似的linter时出现Undefined name错误,则可以改用以下代码:

try:
    import __builtin__
    input = getattr(__builtin__, 'raw_input')
except (ImportError, AttributeError):
    pass

#2楼

这是我在脚本中输入的一段代码,我不想在与py2 / 3无关的环境中运行:

# Thank you, python2-3 team, for making such a fantastic mess with
# input/raw_input :-)
real_raw_input = vars(__builtins__).get('raw_input',input)

现在,您可以使用real_raw_input。 它相当昂贵,但简短易读。 使用原始输入通常很耗时(等待输入),因此并不重要。

从理论上讲,您甚至可以分配raw_input而不是real_raw_input,但是可能会有一些模块检查raw_input的存在并相应地运行。 最好保持安全。


#3楼

解决此问题的可靠方法是

from six.moves import input

是一个模块,可修补许多2/3通用代码基础痛点。


#4楼

可能不是最好的解决办法,但我来这里之前,我刚做这在飞行中继续工作,而不必从研究一个快速突破。

def raw_input(x):
  input(x)

然后,当我运行raw_input('Enter your first name: ')对我工作的脚本,它抓住它一样input()会。

可能有一个原因,我还没有遇到呢!


#5楼

raw_input()函数已从Python 3.x中删除。 取输入python2曾经有两个函数,分别是input()和raw_input()

如果要在3.x中具有2.x的相同功能以获取输入参数,请遵循此Wiki链接https://en.wikibooks.org/wiki/Python_Programming/Input_and_Output


#6楼

这适用于Python 3.x和2.x:

# Fix Python 2.x.
try: input = raw_input
except NameError: pass
print("Hi " + input("Say something: "))

#7楼

在Python 3.xx中,您只需要input()而不是raw_input()


#8楼

正如其他人指出的那样, raw_input函数已重命名为Python 3.0中的input ,确实可以得到一本更新的书来更好地服务,但我想指出的是,有更好的方法可以查看您的脚本。

根据您的描述,我认为您正在使用Windows,已经保存了.py文件,然后双击该文件即可运行它。 程序结束后,弹出的终端窗口将立即关闭,因此您看不到程序的结果是什么。 为了解决这个问题,您的书建议添加raw_input / input语句,直到用户按下Enter键。 但是,正如您所看到的,如果出现问题(例如程序中的错误),则该语句将不会执行,并且窗口将关闭,而您将无法看到问题所在。 您可能会发现使用命令提示符或IDLE更容易。

使用命令提示符

当您查看包含Python程序的文件夹窗口时,请按住shift键并右键单击窗口白色背景区域中的任意位置。 弹出的菜单应包含“此处打开命令窗口”条目。 (我认为这适用于Windows Vista和Windows7。)这将打开一个命令提示符窗口,如下所示:

    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

    C:\Users\Weeble\My Python Program>_

要运行您的程序,请键入以下内容(替换您的脚本名称):

    python myscript.py

...然后按Enter。 (如果收到“ python”不是可识别的命令的错误,请参阅http://showmedo.com/videotutorials/video?name=960000&fromSeriesID=96 )当程序完成运行时,无论是否成功完成,该窗口将保持打开状态,并且将再次出现命令提示符,以供您键入其他命令。 如果要再次运行程序,则可以按向上箭头以调出您输入的上一个命令,然后按Enter以再次运行它,而不必每次都键入文件名。

使用IDLE

IDLE是随Python一起安装的简单程序编辑器。 除其他功能外,它还可以在窗口中运行程序。 右键单击您的.py文件,然后选择“在IDLE中编辑”。 当您的程序出现在编辑器中时,按F5或从“运行”菜单中选择“运行模块”。 程序将在程序结束后的窗口中运行,您可以在其中输入Python命令以立即运行。


#9楼

从Python 3开始, raw_input()重命名为input()

Python 3.0的新功能开始

发布了0 篇原创文章 · 获赞 2 · 访问量 4024

猜你喜欢

转载自blog.csdn.net/asdfgh0077/article/details/103973899