[python3]
Steve Holden
steve at holdenweb.com
Fri Mar 19 14:17:31 EDT 2010
Kevin Adams wrote:
> Greetings!
>
> Please forgive me if im posting this to the wrong group.
>
> I'm new to Python, learning Python3 from the O'rielly "Learning
> Python" book. Reading
> about operator overloading, specifically __getitem__. I put together
> a small bit of code to
> do some experimenting and threw in a timer so i can see it do its
> thing. For some reason
> the time.sleep(x) function doesnt work when my print function includes
> "end=''".
>
> Thanks in advance for any help.
>
>
Try the following changes:
> ---code---
>
> class TestClass():
> def __init__(self):
> self.data = "I was far from home and the spell of the eastern
> sea was upon me."
>
> def __getitem__(self,i):
> return self.data[i]
>
>
> import time
import sys
>
> if __name__ == "__main__":
>
> me = TestClass()
> for x in me:
> print(x,end='') #if i remove the 'end=''' it performs as i'd
> expect
sys.stdout.flush()
> time.sleep(int(2))
>
It may just be that the output is being held in buffers until the
program terminates. the fluch() methof pushes it straight out.
regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
See PyCon Talks from Atlanta 2010 http://pycon.blip.tv/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/
More information about the Python-list
mailing list