I am writing a simple ftp downloader. Part of to the code is something like this:
ftp.retrbinary("RETR " + file_name, process)
print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!'
1784 KB / KB 1829 downloaded!
1788 KB / KB 1829 downloaded!
Here's code for Python 3.x:
print(os.path.getsize(file_name)/1024+'KB / '+size+' KB downloaded!', end='\r')
end= keyword is what does the work here -- by default,
print() ends in a newline (
\n) character, but this can be replaced with a different string. In this case, ending the line with a carriage return instead returns the cursor to the start of the current line. Thus, there's no need to import the
sys module for this sort of simple usage.
print() actually has a number of keyword arguments which can be used to greatly simplify code.
To use the same code on Python 2.6+, put the following line at the top of the file:
from __future__ import print_function