Mathias Lorente wrote:
Hello all.

I have a simple application (C++) that relies on shared libraries. It works fine in console mode. Lot of job is done into the shared library, so there is some calls to 'std::cout' to inform the user in it.

Now, I would like to wrap everything into a GUI, remove the application and call directly everything from Python using ctypes. (I still need the console application to launch it manually if needed). I've made a simple library to test ctypes and everything works fine except that I don't know how to get stout in order to redirect it somewhere (dialog box or so).

I've looked for some help into the mailing list history and found nothing useful (until now).
Do someone has any suggestion?

Mathias

If I'm understanding your question correctly, you can replace sys.stdout with any class that provides a write method.

class myStdout(object):
    def __init__(self):
        self.lines = list()

    def write(self, data):
        self.lines.append(data)


Then in program do something like

import sys
sys.stdout = myStdout()

Now everything that would have gone to stdout will be buffered into the list in sys.stdout.lines.

-Larry
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to