Tôi đang cố gắng viết một công cụ đơn giản đọc tệp từ đĩa, thực hiện xử lý hình ảnh và trả về kết quả của thuật toán. Vì chương trình đôi khi có thể mất một lúc, tôi muốn có một thanh tiến trình để tôi biết nó ở đâu trong chương trình. Và vì tôi không muốn làm lộn xộn dòng lệnh của mình và tôi đang sử dụng nền tảng Unix, tôi muốn sử dụng ký tự '\ r' để in thanh tiến trình chỉ trên một dòng.Lệnh in Python in không có gì với một dấu xuống dòng
Nhưng khi tôi có mã này ở đây, nó sẽ không in được gì.
Tôi cũng đã cố gắng:
print '\r', i, '/', len(files),
Bây giờ chỉ cần để đảm bảo điều này làm việc trong python, tôi đã cố gắng này:
heartbeat = 1
while True:
print '\rHello, world', heartbeat,
heartbeat += 1
Mã này hoạt động hoàn hảo. Chuyện gì vậy? Sự hiểu biết của tôi về lợi nhuận vận chuyển trên Linux là nó sẽ chỉ di chuyển các dòng thức ăn nhân vật vào đầu và sau đó tôi có thể ghi đè lên văn bản cũ đã được viết trước đây, miễn là tôi không in một dòng mới bất cứ nơi nào. Điều này dường như không xảy ra mặc dù.
Ngoài ra, có cách nào tốt hơn để hiển thị thanh tiến trình trong dòng lệnh so với những gì tôi hiện đang cố gắng thực hiện không?
http://pypi.python.org/pypi/progressbar – kennytm