title: Sense up arrow in Python?
body: <p>I have this script</p>
  
  <pre><code>import sys, os, termios, tty
  home = os.path.expanduser("~")
  history = []
  if os.path.exists(home+"/.incro_repl_history"):
      readhist = open(home+"/.incro_repl_history", "r+").readlines()
      findex = 0
      for j in readhist:
          if j[-1] == "\n":
              readhist[findex] = j[:-1]
          else:
              readhist[findex] = j
          findex += 1
      history = readhist
      del readhist, findex
  
  class _Getch:
      def __call__(self):
              fd = sys.stdin.fileno()
              old_settings = termios.tcgetattr(fd)
              try:
                  tty.setraw(sys.stdin.fileno())
                  ch = sys.stdin.read(3)
              finally:
                  termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
              return ch
  
  while True:
      try:
          cur = raw_input("&gt; ")
          key = _Getch()
          print key
          if key == "\x1b[A":
              print "\b" * 1000
              print history[0]
          history.append(cur)
      except EOFError:
          sys.stdout.write("^D\n")
          history.append("^D")
      except KeyboardInterrupt:
          if not os.path.exists(home+"/.incro_repl_history"):
              histfile = open(home+"/.incro_repl_history", "w+")
              for i in history:
                  histfile.write(i+"\n")
          else:
              os.remove(home+"/.incro_repl_history")
              histfile = open(home+"/.incro_repl_history", "w+")
              for i in history:
                  histfile.write(i+"\n")
      sys.exit("")
  </code></pre>
  
  <p>When run, it get's the contents of <code>/home/bjskistad/.incro_repl_history</code>, reads the lines, and removes the newspace character, and then defines the <code>_Getch</code> class/function. Then, it runs the main loop of the script. It <code>try</code>s to set <code>cur</code> to <code>raw_input()</code>. I then try to sense the up arrow using the <code>_Getch</code> class defined. This is where I am having trouble. I can't sense the up arrow using my <code>_Getch</code> class. How can I sense the up arrow with my current code?</p>