getting text from WinXP console
Chris Maloof
cjmaloof at gmail.com
Mon Mar 21 22:40:54 EST 2005
Thanks for the interesting suggestions!
On 21 Mar 2005 10:47:52 -0800, "Cappy2112" <cappy2112 at gmail.com>
wrote:
>If you are launching it you can try using one of the python popen()
>calls to redirect the screen output to your python program.
Aha. This sounds perfect, and I don't know why it doesn't work even
with a basic command window:
>>> s = subprocess.Popen(args='c:\\WINDOWS\\system32\\command.com', stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
[[[completely blank command window appears]]]
>>> s.pid
372
>>> s.stdin.write('hi there')
Traceback (most recent call last):
File "<pyshell#41>", line 1, in -toplevel-
s.stdin.write('hi there')
IOError: [Errno 22] Invalid argument
>>> s.stdout.read(1)
''
>>> s.stderr.read(1)
''
I'm guessing it's not the right kind of screen output, somehow? I
should try this with Unix.
Jeff Shannon <jeffshannon at gmail.com> wrote:
>
>Unless I'm seriously mistaken, the only way that this will be possible
>is if there's a Win32 API call that will give the correct information.
> This might be possible to find in the MSDN documentation, if it
>exists, but I suspect that it probably doesn't.
I think you're right. I did consider the select-and-copy idea, which
sounds vaguely silly but acceptable if there's a way to do it without
getting the selection area highlighted. At this point I wouldn't be
terribly stunned if it's the best alternative, actually, though an API
call would seem nicer. I'll see if I can turn anything up in the MSDN
library. Peter's advice to ask about this on a Windows list is
probably wisest; I'll post again if I figure it out.
I refuse on principle to do a text -> image -> text conversion, clever
though it is. :)
Lucas Raab <dotpyFE at gmail.com> wrote:
>If you're looking to do this from Python then do "python <appname.py> >
>output.txt" only without the quotes. AFAIK, this only works on Windows.
>Correct me if it works from Linux or another OS.
I do this all the time in Unix and had no idea it worked in Windows;
it's not quite what I need but still good to know!
Thanks to everybody for all the help.
Chris
More information about the Python-list
mailing list