Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Improve http://stackoverflow.com/a/22776/286994 (using .format() instead of % string formatting)
#!/usr/bin/python
# Improve http://stackoverflow.com/a/22776/286994
# (using .format() instead of % string formatting)
import sys
import urllib2
file_name = url.split('/')[-1]
u = urllib2.urlopen(url)
f = open(file_name, 'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
print("Downloading: {0} Bytes: {1}".format(url, file_size))
file_size_dl = 0
block_sz = 8192
while True:
buffer = u.read(block_sz)
if not buffer:
break
file_size_dl += len(buffer)
f.write(buffer)
p = float(file_size_dl) / file_size
status = r"{0} [{1:.2%}]".format(file_size_dl, p)
status = status + chr(8)*(len(status)+1)
sys.stdout.write(status)
f.close()
@bobelev

This comment has been minimized.

Show comment Hide comment
@bobelev

bobelev Apr 17, 2014

What 26th line is about?

bobelev commented Apr 17, 2014

What 26th line is about?

@maddisoj

This comment has been minimized.

Show comment Hide comment
@maddisoj

maddisoj Dec 4, 2014

@bobelev It appends a backspace character to the string for each letter in the status. Meaning the next output will be displayed over it.

maddisoj commented Dec 4, 2014

@bobelev It appends a backspace character to the string for each letter in the status. Meaning the next output will be displayed over it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment