[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
--
http://mail.python.org/mailman/listinfo/python-list