is there a way to use input("Press any key to continue") on version 2.6

14,492

Solution 1

Use this

try:
    input= raw_input
except NameError:
    pass

If raw_input exists, it will be used for input. If it doesn't exist, input still exists.

Solution 2

you could do something on the line of ...

def myinput(prompt):
    try:
        return raw_input(prompt)
    except NameError:
        return input(prompt)

... but don't.

Instead, just use raw_input() on your program, and then use 2to3 to convert the file to python 3.x. That will convert all the raw_input()s for you and also other stuff you might be missing.

That's the recommended way to keep a software working on both python 2 and python 3 and also keep sanity.

Solution 3

import os
os.sys('pause') 

You can use this module on Windows.

Share:
14,492
Dag
Author by

Dag

Updated on June 24, 2022

Comments

  • Dag
    Dag almost 2 years

    I want the program to pause and wait until you press any key to continue, but raw_input() is going away, and input() is replacing it. So I have
    var = input("Press enter to continue") and it waits until I press enter, but then it fails with SyntaxError: unexpected EOF while Parsing. This works OK on a system with Python 3, but this is linux Python 2.6 and I hate to have to code in raw_input() since it is going away. Any suggestions?

    • user1066101
      user1066101 over 13 years
      Please post the actual code and actual error messages that you're actually getting.
    • Smashery
      Smashery over 13 years
      This shouldn't be a syntax error - Python 2.6 supports the input function. Could you show us the rest of your code please?
    • B Bulfin
      B Bulfin over 13 years
      @smashery: it will still cause a syntax error if the entered expression contains an syntax error, for example just pressing enter
    • Smashery
      Smashery over 13 years
      Ah, seems I misread the question. Cheers.
    • James Broadhead
      James Broadhead about 12 years
      Probably useful for others: stackoverflow.com/questions/1394956/…
  • Dag
    Dag over 13 years
    but if I just move the file between two boxes, I hate to have to convert all the time
  • dcolish
    dcolish over 13 years
    No, it does an eval of the input. You'll need to change how input is defined. docs.python.org/library/functions.html?highlight=input#input
  • Dag
    Dag over 13 years
    I like this one. Worked great. and is simple
  • John La Rooy
    John La Rooy over 13 years
    +1 Although I think it would have been better if there was a __future__ import for this, there isn't, so this is the best way