title: Exiting while loop by pressing enter without blocking. How can I improve this method?
body: <p>So I've been doing a little bit of reading up on how to exit a while loop by the user pressing the enter key and I've come up with the following:</p>
  
  <pre><code>import sys, select, os
  
  switch = 1
  i = 1
  while switch == 1:
      os.system('cls' if os.name == 'nt' else 'clear')
      print "I'm doing stuff. Press Enter to stop me!"
      print i
      while sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
          line = raw_input()
          if not line:
              print "Finished! =]"
              switch = 0
          else:
              print "Finished! =]"
              switch = 0
      i = i+1
  </code></pre>
  
  <p>Is there a way to tidy this up? In particular the "if not line" and the following "else" look messy. Can they be combined into one? A better alternative to using "switch"? </p>
  
  <p>Initially if I typed a bunch of characters and then hit enter it didn't stop the loop. I would have to press enter again. The if not and else components are intended to set it up such that it would exit on the first press of enter.</p>