Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. #!/usr/bin/env python
  2. #-*- coding: utf-8 -*-
  3. import sys
  4. from time import sleep
  5.  
  6. # Print iterations progress
  7. def print_progress(iteration, total, prefix='Progress:', suffix='Complete', decimals=1, bar_length=100):
  8. """
  9. Call in a loop to create terminal progress bar
  10. @params:
  11. iteration - Required : 현재 위치 (Int)
  12. total - Required : 전체 위치 (Int)
  13. prefix - Optional : 전위 문자 (Str)
  14. suffix - Optional : 후위 문자 (Str)
  15. decimals - Optional : 소수점 이하 자리 표시 (Int)
  16. bar_length - Optional : 프로그레스바 전체 길이 (Int)
  17. """
  18. str_format = "{0:." + str(decimals) + "f}"
  19. current_progress = iteration / float(total)
  20. percents = str_format.format(100 * current_progress)
  21. filled_length = int(round(bar_length * current_progress))
  22. bar = "#" * filled_length + '-' * (bar_length - filled_length)
  23.  
  24. # 캐리지 리턴(\r) 문자를 이용해서 출력후 커서를 라인의 처음으로 옮김
  25. sys.stdout.write('\r%s |%s| %s%s %s' % (prefix, bar, percents, '%', suffix)),
  26.  
  27. # 현재 위치가 전체 위치에 도달하면 개행문자 추가
  28. if iteration == total:
  29. sys.stdout.write('\n')
  30.  
  31. # 버퍼의 문자를 출력
  32. sys.stdout.flush()
  33.  
  34. if __name__ == "__main__":
  35. # 출력 리스트 샘플
  36. items = list(range(0, 54))
  37. items_length = len(items)
  38.  
  39. # 0%를 출력
  40. print_progress(0, items_length)
  41.  
  42. for i, item in enumerate(items):
  43. # 실제 처리할 작업
  44. # 0.1초 sleep
  45. sleep(0.1)
  46. # 프로그레스바 변환
  47. print_progress(i + 1, items_length)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement