일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 마크 미너비니
- 파이어족 저축
- 2%룰
- 자산배분
- 통계적 유의성
- 아웃풋 트레이닝
- 파이어족 자산
- eclipse
- GIT
- 파이어족 자산증식
- 마크미너비니
- 이클립스
- 니콜라스 다바스
- 데이빗 라이언
- 퀀터스 하지 마세요
- 연금저축계좌
- 제시 리버모어
- 파이어족 포트폴리오
- 추세추종 2%룰
- mark minervini
- tensorflow
- H는 통계를 모른다.
- 데이비드 라이언
- 퀀트 트레이딩
- 김프
- 파이어족
- 신의 시간술
- AWS
- 에드워드 소프
- python
- Today
- Total
머신러닝과 기술적 분석
Progress Bar 사용법 본문
시간이 오래걸리는 작업의 경우 Progress Bar 를 사용하면 Task 의 진행 정도를 알 수 있어서 매우 유용하다.
Python 에서는 progressbar 라는 package 에서 해당기능으 제공한다.
1. ProgressBar 패키지 설치
먼저 progressbar package 가 설치되어있는 지 확인하자. 아래의 명령을 통해 현재 컴퓨터에 설치되어있는 Python Interpreter 의 Package 버젼을 확인 할 수 있다.
c:\> pip freeze
progressbar 패키기가 없다면 간단히 pip 을 이용해서 설치하자.
c:\> pip install progressbar
2. 사용 예제
사용법은 Package Documentaion 에 나와있는데, 어찌된 일인지 제대로 실행이 안되는 예제들이 있다.
Version 은 최신버젼(2.3) 을 확인했는데, 문서 update 가 안 되있는 것 같다. 아래의 예제들은 2.3 버젼에서 직접확인한 내용으로만 작성했다.
아래의 예제들은 공통으로 아래의 2개 모듈을 import 하고 실행한다.
import time
import progressbar
2.1. Wrapping an iterable
가장 기본적인 사용방법이다. loop 밖에서 ProgressBar class 의 객체를 생성하고, 생성한 객체로 iterator 를 감싼다.
bar = progressbar.ProgressBar()
for i in bar(range(100)):
time.sleep(0.02)
실행 결과
100% |########################################################################|
2.2. Context wrapper
첫 번째 예제와 별 차이가 없지만 bar 객체를 loop 안에서 명시적으로 update 한다.
공식 문서에는 예제 코드가 약간 다르지만 실행이 되지 않아 다시작성했다.
bar = progressbar.ProgressBar(maxval=10).start()
for i in range(10):
time.sleep(0.1)
bar.update(i)
bar.finish()
실행 결과은 1번 예제와 동일하다.
100% |########################################################################|
2.3. Combining progressbars with print output
Text 출력과 같이 사용하는 방법이다.
bar = progressbar.ProgressBar(maxval=10).start()
for i in range(10):
print 'Some text', i
time.sleep(0.1)
bar.update(i)
bar.finish()
Some text 0 |
Some text 1
Some text 2## |
Some text 3######### |
Some text 4################ |
Some text 5####################### |
Some text 6############################### |
Some text 7###################################### |
Some text 8############################################# |
Some text 9#################################################### |
100% |########################################################################|
2.4. Progressbar with unknown length
bar = progressbar.ProgressBar().start()
for i in range(10):
time.sleep(0.1)
bar.update(i)
bar.finish()
실행 결과은 1번 예제와 동일하다.
100% |########################################################################|
2.5. Bar with custom widgets
좀 더 Fancy 하게 실행시간, 남아있는 시간등을 출력하는 방법이다.
widgets parameter 에 출력양식을 정의한다.
bar = progressbar.ProgressBar(widgets=[' [', progressbar.Timer(), '] ', progressbar.Bar(), ' (', progressbar.ETA(), ') ',])
for i in bar(range(100)):
time.sleep(0.1)
아래와 같이 깔끔하게 출력된다. (개인적으로 상당히 마음에 든다! )
[Elapsed Time: 0:00:13] |###################################| (Time: 0:00:13)
'python' 카테고리의 다른 글
pytest 사용법 정리 (0) | 2017.08.16 |
---|---|
opencv 설치방법 (Windows, Ubuntu) (0) | 2017.08.16 |
실행중인 python module 의 path를 capture 하는 방법" (0) | 2017.08.16 |
스스로 만든 Package를 Third-Party 처럼 사용해보자 (0) | 2017.08.16 |
다차원 ndarray 를 정렬하는 방법 (0) | 2017.08.16 |