How do I tell if I'm running in the PyWin interpreter?

Charles Krug cdkrug at aol.com
Sat Jan 28 19:21:33 EST 2006


On 2006-01-28, Charles Krug <cdkrug at aol.com> wrote:
> On 2006-01-28, Peter Otten <__peter__ at web.de> wrote:
>> Charles Krug wrote:
>>
>>> Is there a way to detect that I'm running the the PyWin interpreter so
>>> that I can bypass its raw_input behavior?
>>
>> You could test
>>
>> if pywin_specific_module in sys.modules:
>>    # use workaraound
>>
>> Or maybe you can get away with always using sys.stdin.readline() instead of
>> raw_input()? Look into cmd.py for an example.
>>
>> Peter
>>
>
> cmd.py is the "battery included" I was thinking of last night.
> Unfortunately it uses something that PyWin replaces.
>
> However I did note that PyWin's version raises KeyboardInterrupt out of
> its dialog box.
>
> That's not ideal, but at least it gives me an idea what I need to trap
> to exit.
>

Okay, I poked around a bit more and found the initialization code that
does this:

sys.modules['__builtin__'].raw_input=Win32RawInput

Which is the substituted function.

Is there a way to access the original function that I want to use, or do
I need to come up with some other way to do console input?

Thanks




More information about the Python-list mailing list