471,066 Members | 2,001 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,066 software developers and data experts.

How to I print without newline ?

Hi !

I want to print, but without newline. I want to create a progress for
ftp, but the print is drop a newline for every percent.
I want like this:

0% 25% 50% 75% 100%

But this happening:
0%
25%
50%
75%
100%

How to I prevent the newlines ?

Thanx for help:
FT
Jul 18 '05 #1
4 7070
> I want to print, but without newline. I want to create a progress for
ftp, but the print is drop a newline for every percent.
I want like this:

0% 25% 50% 75% 100%

But this happening:
0%
25%
50%
75%
100%

How to I prevent the newlines ?


Since you want spaces between the values, a comma at the end of the print
statement will do the trick:
for p in ( 0, 25, 50, 75, 100 ): .... print '%s%%' % p,
....
0% 25% 50% 75% 100%
In the more general case, where you want complete control and want to be
able to prevent this extra space, use sys.stdout.write():
for i in xrange(20):

.... sys.stdout.write( '+' )
....
++++++++++++++++++++>>>

Note that there wasn't a newline at the end. You'll need to do a
sys.stdout.write('\n') when you want one.

-Mike
Jul 18 '05 #2

<fo***********@anonym.hu> wrote in message
news:ma*************************************@pytho n.org...
Hi !

I want to print, but without newline. I want to create a progress for
ftp, but the print is drop a newline for every percent.
I want like this:

0% 25% 50% 75% 100%

But this happening:
0%
25%
50%
75%
100%

How to I prevent the newlines ?

Thanx for help:
FT

Jul 18 '05 #3
Here's a progressbar class I wrote some time ago, hope it helps.

-Larry

class progressbarClass:
def __init__(self, finalcount, progresschar=None):
import sys
self.finalcount=finalcount
self.blockcount=0
#
# See if caller passed me a character to use on the
# progress bar (like "*"). If not use the block
# character that makes it look like a real progress
# bar.
#
if not progresschar: self.block=chr(178)
else: self.block=progresschar
#
# Get pointer to sys.stdout so I can use the write/flush
# methods to display the progress bar.
#
self.f=sys.stdout
#
# If the final count is zero, don't start the progress gauge
#
if not self.finalcount : return
self.f.write('\n------------------ %
Progress -------------------1\n')
self.f.write(' 1 2 3 4 5 6 7 8 9 0\n')
self.f.write('----0----0----0----0----0----0----0----0----0----0\n')
return

def progress(self, count):
#
# Make sure I don't try to go off the end (e.g. >100%)
#
count=min(count, self.finalcount)
#
# If finalcount is zero, I'm done
#
if self.finalcount:
percentcomplete=int(round(100*count/self.finalcount))
if percentcomplete < 1: percentcomplete=1
else:
percentcomplete=100

#print "percentcomplete=",percentcomplete
blockcount=int(percentcomplete/2)
#print "blockcount=",blockcount
if blockcount > self.blockcount:
for i in range(self.blockcount,blockcount):
self.f.write(self.block)
self.f.flush()

if percentcomplete == 100: self.f.write("\n")
self.blockcount=blockcount
return

if __name__ == "__main__":
from time import sleep
pb=progressbarClass(8,"*")
count=0
while count<9:
count+=1
pb.progress(count)
sleep(0.2)

pb=progressbarClass(100)
pb.progress(20)
sleep(0.2)
pb.progress(47)
sleep(0.2)
pb.progress(90)
sleep(0.2)
pb.progress(100)
print "testing 1:"
pb=progressbarClass(1)
pb.progress(1)

<fo***********@anonym.hu> wrote in message
news:ma*************************************@pytho n.org...
Hi !

I want to print, but without newline. I want to create a progress for
ftp, but the print is drop a newline for every percent.
I want like this:

0% 25% 50% 75% 100%

But this happening:
0%
25%
50%
75%
100%

How to I prevent the newlines ?

Thanx for help:
FT

Jul 18 '05 #4
fo***********@anonym.hu wrote:
I want to print, but without newline. I want to create a progress for
ftp, but the print is drop a newline for every percent.
I want like this:

0% 25% 50% 75% 100%

But this happening:
0%
25%
50%
75%
100%

How to I prevent the newlines ?


One option:

s = [ 0, 25, 50, 75, 100 ]
for p in s:
percent = "%d%%" % ( p, )
print percent,

Another option:

from sys import stdout
s = [ 0, 25, 50, 75, 100 ]
for p in s:
stdout.write( "%d%% " % ( p, ) )
stdout.write( "\n" )

--
Chris Herborth ch****@cryptocard.com
Documentation Overlord, CRYPTOCard Corp. http://www.cryptocard.com/
Never send a monster to do the work of an evil scientist.
Jul 18 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

30 posts views Thread by Martin Bless | last post: by
9 posts views Thread by Paul Watson | last post: by
14 posts views Thread by Marcin Ciura | last post: by
2 posts views Thread by jamesthiele.usenet | last post: by
reply views Thread by bearophileHUGS | last post: by
2 posts views Thread by Karlo Lozovina | last post: by
11 posts views Thread by A.M | last post: by
3 posts views Thread by James J. Besemer | last post: by
2 posts views Thread by Phoe6 | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.