On May 16, 4:02 pm, Hans Nowak <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] wrote: > > Hey there, > > > I have a simple question about python print statement. Take the > > following code snippet for example... > > > 1 print "-#- executing: %s" % section, > > 2 tests[section] = test.testcase(name=config.get(section,'name')) > > 3 tests[section].runTest() > > 4 printStatus(tests[section]) > > > Now the problem is that line 1 does not get printed until line 4. What > > I thought would happen is that line 1 gets executed and the user sees > > that the statement that the test case is executing. Then after the > > test case executes a "PASS" or "FAIL" appears on the same line as the > > "-#- executing: 0053" statement. > > > e.g. > > -#- executing: 0053 FAIL > > > Some tests take a long time to finish thus the screen is blank until > > the entire test finishes and the above statement is outputted. > > > Thanks for any help. > > 'print' sends its output to sys.stdout, which is buffered, and may not be > displayed immediately (because it's held in the buffer). To force the output > to > be displayed, use flush(): > > print "-#- executing: %s" % section, > sys.stdout.flush() > ...tests here... > > Hope this helps! > > --Hans
Thanks a lot! This worked beautifully! -- http://mail.python.org/mailman/listinfo/python-list