Tôi đang viết một trình tải xuống ftp đơn giản. Một phần của mã là một cái gì đó như thế này:đầu ra cho cùng một dòng ghi đè đầu ra trước đó? python (2.5)
ftp.retrbinary("RETR " + file_name, process)
tôi đang kêu gọi quá trình chức năng để xử lý các cuộc gọi lại:
def process(data):
print os.path.getsize(file_name)/1024, 'KB/', size, 'KB downloaded!'
file.write(data)
và đầu ra là một cái gì đó như thế này:
1784 KB/KB 1829 downloaded!
1788 KB/KB 1829 downloaded!
etc...
nhưng tôi muốn in dòng này và lần sau in lại/làm mới nó để nó chỉ hiển thị một lần và tôi sẽ thấy tiến trình tải xuống đó ...
Làm thế nào nó có thể được thực hiện?
Lưu ý rằng chức năng in cũng có thể được sử dụng trong python 2.6+ bằng cách thêm nhập sau đây ở đầu tệp: 'from __future__ import print_function'. – janin
trong python <3.0 một dấu phẩy ở cuối câu lệnh sẽ ngăn chặn một "\ n": 'print" foo ",' Tuy nhiên bạn vẫn cần tuôn ra sau đó để xem thay đổi: 'sys.stdout.flush() ' –
Tôi thấy rằng tôi cần phải bao gồm' \ r' ở đầu chuỗi và đặt 'end = ''' để làm việc này. Tôi không nghĩ thiết bị đầu cuối của tôi thích nó khi tôi kết thúc bằng '\ r' – Jezzamon