output

Discussion in 'Python' started by H.S. Art, Jun 27, 2003.

  1. H.S. Art

    H.S. Art Guest

    Hi folks,

    I have a sript that runs very well. I do my output to the python shell
    with the print command. That works well, too.
    print 'Error occured ' + str(i+1)

    No I want to have my output into a textctrl frame in a window. I start
    my script by pushing a button in my window. It starts fine but I can't
    see any output. For test purposes I added the following code to the
    event handler of the button:
    self.textCtrl1.WriteText('TEST\n')
    This produces output to my text ctrl window. So I replaced all 'print'
    commands in my script with 'self.textCtrl1.WriteText ...' Unfortunately
    it still doesn't work. I don't get any output from my script. I always
    get an error saying self is unknown. That's why I replaced it with the
    name of the file of the window and so on and so on. Nothing worked. Can
    you help me telling me how I have to write my code to get an output?

    Thank you very much.
    Henry
    H.S. Art, Jun 27, 2003
    #1
    1. Advertising

  2. H.S. Art wrote:

    > I have a sript that runs very well. I do my output to the python shell
    > with the print command. That works well, too.
    > print 'Error occured ' + str(i+1)
    >
    > No I want to have my output into a textctrl frame in a window. I start
    > my script by pushing a button in my window. It starts fine but I can't
    > see any output. For test purposes I added the following code to the
    > event handler of the button:
    >
    > self.textCtrl1.WriteText('TEST\n')
    >
    > This produces output to my text ctrl window. So I replaced all 'print'
    > commands in my script with 'self.textCtrl1.WriteText ...'


    someone else will have to sort the variable scoping issues for you [1],
    but in the meantime, you could try the following little trick.

    1) at the top of your program, import the "sys" module:

    import sys

    2) in the event handler, add the following redirection code:

    # redirect output to my window
    class redirect:
    def __init__(self, window):
    self.write = window.WriteText
    sys.stdout = redirect(self.textCtrl1)

    </F>

    1) the following links might be somewhat helpful:

    http://www.python.org/doc/current/tut/node11.html#SECTION0011200000000000000000
    http://www.python.org/doc/current/ref/naming.html (technical)
    Fredrik Lundh, Jun 27, 2003
    #2
    1. Advertising

  3. H.S. Art

    H.S. Art Guest

    Thank you for your answer!
    That "little" trick works perfect for me. :)



    Fredrik Lundh wrote:

    >H.S. Art wrote:
    >
    >
    >
    >>I have a sript that runs very well. I do my output to the python shell
    >>with the print command. That works well, too.
    >>print 'Error occured ' + str(i+1)
    >>
    >>No I want to have my output into a textctrl frame in a window. I start
    >>my script by pushing a button in my window. It starts fine but I can't
    >>see any output. For test purposes I added the following code to the
    >>event handler of the button:
    >>
    >>self.textCtrl1.WriteText('TEST\n')
    >>
    >>This produces output to my text ctrl window. So I replaced all 'print'
    >>commands in my script with 'self.textCtrl1.WriteText ...'
    >>
    >>

    >
    >someone else will have to sort the variable scoping issues for you [1],
    >but in the meantime, you could try the following little trick.
    >
    >1) at the top of your program, import the "sys" module:
    >
    > import sys
    >
    >2) in the event handler, add the following redirection code:
    >
    > # redirect output to my window
    > class redirect:
    > def __init__(self, window):
    > self.write = window.WriteText
    > sys.stdout = redirect(self.textCtrl1)
    >
    ></F>
    >
    >1) the following links might be somewhat helpful:
    >
    >http://www.python.org/doc/current/tut/node11.html#SECTION0011200000000000000000
    >http://www.python.org/doc/current/ref/naming.html (technical)
    >
    >
    >
    >
    >
    >
    H.S. Art, Jun 29, 2003
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John Bentley

    Output / Debug window output bug?

    John Bentley, Sep 10, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    591
    John Bentley
    Sep 10, 2003
  2. chuck amadi
    Replies:
    1
    Views:
    489
    Larry Bates
    Jun 23, 2004
  3. Paul
    Replies:
    1
    Views:
    430
  4. jmr
    Replies:
    2
    Views:
    335
  5. pratap
    Replies:
    3
    Views:
    456
    James Kanze
    Jul 19, 2007
Loading...

Share This Page