Re: printing dots in simple program while waiting

2008-01-09 Thread Alex VanderWoude
John wrote:
> what i want to do is print a 'waiting' statement while a script is
> working-- the multithreading aspect isn't an issue, the printing on
> the same line is.  i want to print something like:
> 
> (1sec) working...
> (2sec) working
> (3sec) working.
> 
> 
> where the 'working' line isn't being printed each second, but the dots
> are being added with time.

When issuing output to stdout I have do something like this:

print "working",   # Note trailing comma
while some_condition:
 do_something()
 print "\b.",   # \b is backspace
print   # Finish the line of dots

- Alex
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: printing dots in simple program while waiting

2008-01-09 Thread John Machin
On Jan 10, 6:30 am, John <[EMAIL PROTECTED]> wrote:
> On Jan 9, 12:14 pm, "Reedick, Andrew" <[EMAIL PROTECTED]> wrote:
>
>
>
> > > -Original Message-
> > > From: [EMAIL PROTECTED] [mailto:python-
> > > [EMAIL PROTECTED] On Behalf Of Martin Marcher
> > > Sent: Wednesday, January 09, 2008 11:57 AM
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: printing dots in simple program while waiting
>
> > > John wrote:
>
> > > > import time
> > > > s = '.'
> > > > print 'working', # Note the "," at the end of the line
> > > > while True:
> > > > print s
> > > > time.sleep(1)
>
> > > see my comment in the code above...
>
> > > if that's what you mean
>
> > Bah.  The trailing command may prevent the newline, but it appends a
> > space whether you want it or not.[1]  Use sys.stdout.write('.') instead.
>
> > import sys
>
> > print "wussy nanny state, tax 'n spend my spaces, liberal comma:"
> > for i in range(1, 10):
> > print '.',
> > print
> > print "manly neo-con I know what's Right so keep your government out of
> > my strings! print:"
> > for i in range(1, 10):
> > sys.stdout.write('.')
>
> > [1] Which has to be _the_ most annoying feature of Python.  *grrr*
>
> > *
>
> > The information transmitted is intended only for the person or entity to 
> > which it is addressed and may contain confidential, proprietary, and/or 
> > privileged material. Any review, retransmission, dissemination or other use 
> > of, or taking of any action in reliance upon this information by persons or 
> > entities other than the intended recipient is prohibited. If you received 
> > this in error, please contact the sender and delete the material from all 
> > computers. GA625
>
> Thanks for all of the help.  This is what ended up working:
>
> import time
> import sys
>
> s = '.'
> sys.stdout.write( 'working' )
> while True:
> sys.stdout.write( s )
> sys.stdout.flush()
> time.sleep(0.5)

For your next trick, write a "spinner" using |/-\ in succession :-)

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: printing dots in simple program while waiting

2008-01-09 Thread John
On Jan 9, 12:14 pm, "Reedick, Andrew" <[EMAIL PROTECTED]> wrote:
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:python-
> > [EMAIL PROTECTED] On Behalf Of Martin Marcher
> > Sent: Wednesday, January 09, 2008 11:57 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: printing dots in simple program while waiting
>
> > John wrote:
>
> > > import time
> > > s = '.'
> > > print 'working', # Note the "," at the end of the line
> > > while True:
> > > print s
> > > time.sleep(1)
>
> > see my comment in the code above...
>
> > if that's what you mean
>
> Bah.  The trailing command may prevent the newline, but it appends a
> space whether you want it or not.[1]  Use sys.stdout.write('.') instead.
>
> import sys
>
> print "wussy nanny state, tax 'n spend my spaces, liberal comma:"
> for i in range(1, 10):
> print '.',
> print
> print "manly neo-con I know what's Right so keep your government out of
> my strings! print:"
> for i in range(1, 10):
> sys.stdout.write('.')
>
> [1] Which has to be _the_ most annoying feature of Python.  *grrr*
>
> *
>
> The information transmitted is intended only for the person or entity to 
> which it is addressed and may contain confidential, proprietary, and/or 
> privileged material. Any review, retransmission, dissemination or other use 
> of, or taking of any action in reliance upon this information by persons or 
> entities other than the intended recipient is prohibited. If you received 
> this in error, please contact the sender and delete the material from all 
> computers. GA625





Thanks for all of the help.  This is what ended up working:



import time
import sys

s = '.'
sys.stdout.write( 'working' )
while True:
sys.stdout.write( s )
sys.stdout.flush()
time.sleep(0.5)



-- 
http://mail.python.org/mailman/listinfo/python-list


Re: printing dots in simple program while waiting

2008-01-09 Thread Santiago Romero
On 9 ene, 17:48, John <[EMAIL PROTECTED]> wrote:
> i want to print something like:
>
> (1sec) working...
> (2sec) working
> (3sec) working.
>
> where the 'working' line isn't being printed each second, but the dots
> are being added with time.
>
> something like:
>
> import time
> s = '.'
> print 'working'
> while True:
> print s
> time.sleep(1)
>
> however, this doesn't work since it prints:
>
> working
> .
> .

 Change

> print s

 to

> print s,

 (With the ending ",", which sends NO linefeed to stdout)

 Bye :)
-- 
http://mail.python.org/mailman/listinfo/python-list


RE: printing dots in simple program while waiting

2008-01-09 Thread Reedick, Andrew


> -Original Message-
> From: [EMAIL PROTECTED] [mailto:python-
> [EMAIL PROTECTED] On Behalf Of Martin Marcher
> Sent: Wednesday, January 09, 2008 11:57 AM
> To: python-list@python.org
> Subject: Re: printing dots in simple program while waiting
> 
> John wrote:
> 
> > import time
> > s = '.'
> > print 'working', # Note the "," at the end of the line
> > while True:
> > print s
> > time.sleep(1)
> 
> see my comment in the code above...
> 
> if that's what you mean
> 


Bah.  The trailing command may prevent the newline, but it appends a
space whether you want it or not.[1]  Use sys.stdout.write('.') instead.

import sys

print "wussy nanny state, tax 'n spend my spaces, liberal comma:"
for i in range(1, 10):
print '.',
print
print "manly neo-con I know what's Right so keep your government out of
my strings! print:"
for i in range(1, 10):
sys.stdout.write('.')

[1] Which has to be _the_ most annoying feature of Python.  *grrr*

*

The information transmitted is intended only for the person or entity to which 
it is addressed and may contain confidential, proprietary, and/or privileged 
material. Any review, retransmission, dissemination or other use of, or taking 
of any action in reliance upon this information by persons or entities other 
than the intended recipient is prohibited. If you received this in error, 
please contact the sender and delete the material from all computers. GA625


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: printing dots in simple program while waiting

2008-01-09 Thread John
On Jan 9, 11:56 am, Martin Marcher <[EMAIL PROTECTED]> wrote:
> John wrote:
> > import time
> > s = '.'
> > print 'working', # Note the "," at the end of the line
> > while True:
> > print s
> > time.sleep(1)
>
> see my comment in the code above...
>
> if that's what you mean
>
> /martin
>
> --http://noneisyours.marcher.namehttp://feeds.feedburner.com/NoneIsYours
>
> You are not free to read this message,
> by doing so, you have violated my licence
> and are required to urinate publicly. Thank you.

Thanks for the input Martin, but I already tried that.  If you put a
comma on that line it successfully prints the first '.' on the same
line, but the rest below.  Like:

working .
.
.
.



I want:

working..


I have tried the comma thing on the "print s" line ("print s,"), but
then it doesn't print anything at all...
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: printing dots in simple program while waiting

2008-01-09 Thread Tim Chase
Martin Marcher wrote:
> John wrote:
> 
>> import time
>> s = '.'
>> print 'working', # Note the "," at the end of the line
>> while True:
>> print s, #Note the "," at the end of this line too...
>> time.sleep(1)
> 
> see my comment in the code above...

see my added comment in the code above...

Though this will produce spaces between the dots:

   waiting . . . . . .

To eliminate the spaces, you need to write to a file-stream such 
as sys.stdout:

   from sys import stdout
   stdout.write('working')
   while True:
 stdout.write('.')
 # might need something like stdout.flush() here
 time.sleep(1)
   stdout.write('\n')

-tkc



-- 
http://mail.python.org/mailman/listinfo/python-list


Re: printing dots in simple program while waiting

2008-01-09 Thread Martin Marcher
John wrote:

> import time
> s = '.'
> print 'working', # Note the "," at the end of the line
> while True:
> print s
> time.sleep(1)

see my comment in the code above...

if that's what you mean

/martin

-- 
http://noneisyours.marcher.name
http://feeds.feedburner.com/NoneIsYours

You are not free to read this message,
by doing so, you have violated my licence
and are required to urinate publicly. Thank you.

-- 
http://mail.python.org/mailman/listinfo/python-list


printing dots in simple program while waiting

2008-01-09 Thread John
Ok, so this should be a really simple thing to do, but I haven't been
able to get it on the first few tries and couldn't find anything after
searching a bit.

what i want to do is print a 'waiting' statement while a script is
working-- the multithreading aspect isn't an issue, the printing on
the same line is.  i want to print something like:

(1sec) working...
(2sec) working
(3sec) working.


where the 'working' line isn't being printed each second, but the dots
are being added with time.

something like:

import time
s = '.'
print 'working'
while True:
print s
time.sleep(1)


however, this doesn't work since it prints:

working
.
.
.

any suggestions?
-- 
http://mail.python.org/mailman/listinfo/python-list