sleep() function, perhaps.
Peter Hansen
peter at engcorp.com
Tue Nov 25 11:57:21 EST 2003
Padraig at Linux.ie wrote:
>
> Ryan Spencer wrote:
> > Hello Everyone,
> >
> > I want to have a row of periods, separated by small, say, .5 second
> > intervals between each other. Thus, for example, making it have the
> > appearance of a progress "bar".
>
> You've got the answer for dots, here's a spinner in case it's useful:
>
> import sys, time
>
> spinner="|/-\\"
> pos=0
>
> while 1:
> sys.stdout.write("\r"+spinner[pos])
> sys.stdout.flush()
> time.sleep(.5)
> pos+=1
> pos%=4
And a quicky OO version for kicks (untested):
class Spinner:
CHARS = r"|/-\"
def __init__(self, stream=sys.stdout):
self.index = 0
self.stream = stream
def spin(self):
self.stream.write('\r' + self.CHARS[self.index])
self.stream.flush()
self.index = (self.index + 1) % len(CHARS)
spin = Spinner()
while 1:
spin.spin()
time.sleep(0.5)
-Peter
More information about the Python-list
mailing list