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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值