Richard D. Moores wrote:
Python 3.2.2, Win 7

When using the Python 3 interactive prompt, is there a way to quickly
"refresh" the prompt? By "refresh" I mean get a new interactive prompt
with nothing imported and all things like  a = "qwerty",   n = 123,
etc. no longer in effect. Not sure what the wording should be for
that. "imports cancelled and variables deleted"?

That would be "start a fresh interpreter session".

And the easiest way to start a fresh interpreter session is, indeed, to exit the current session and start a fresh one, just as you describe.


I know I can do that by entering a Ctrl+z, followed by entering
"python". But could print() be used to do the same thing? I can get a
beep with print("\a"), or clear the screen with   import os;
print(os.system("CLS"),chr(13)," ",chr(13)), but how to print a ^Z?

Printing a ^Z is easy, you just have to know what character code ^Z corresponds to. That's chr(26) or 1A in hexadecimal, so this works:

>>> print('\x1A')
▒


But as you can see, that just prints a character.

You need to get Ctrl-Z into the *input* stream, not the *output* stream, to exit the interpreter. If you are doing it manually, the easiest way is just to type Ctrl-Z. If doing it programmatically, use either of these:

sys.exit()
raise SystemExit


There is no easy way to reset the current interpreter session to "as new". I suppose you could try something like this:


sys.modules[:] = []
globals().clear()

but that won't necessarily reset everything to a fresh state.




--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to