python - pass multiple argument to sys.stdout.write -


is possible pass multiple argument sys.stdout.write? examples saw uses 1 parameter.

the following statements incorrect.

sys.stdout.write("\r%d of %d" % read num_lines) syntax error: sys.stdout.write  sys.stdout.write("\r%d of %d" % read, num_lines) not enough arguments format string  sys.stdout.write("\r%d of %d" % read, %num_lines) syntax error: sys.stdout.write  sys.stdout.write("\r%d of %d" % read, num_lines) not enough arguments format string 

what should do?

you need put variables in tuple :

>>> read=1 >>> num_lines=5 >>> sys.stdout.write("\r%d of %d" % (read,num_lines)) 1 of 5>>>  

or use str.format() method:

>>> sys.stdout.write("\r{} of {}".format(read,num_lines)) 1 of 5 

if arguments within iterable can use unpacking operation pass them string's format() attribute.

in [18]: vars = [1, 2, 3] in [19]: sys.stdout.write("{}-{}-{}".format(*vars)) 1-2-3 

Comments

Popular posts from this blog

c - Bitwise operation with (signed) enum value -

xslt - Unnest parent nodes by child node -

YouTubePlayerFragment cannot be cast to android.support.v4.app.Fragment -