https://white.seolpyo.com/entry/3/?ref=copy
예제)while문에서 tqdm 사용하는 방법 - 하얀설표 블로그
일반적인 사용방법 from time import sleepfrom tqdm import tqdm# https://white.seolpyo.com/for i in tqdm(range(100)):sleep(0.1)>> 100%|████████████████████| 100/100 [00:10<00:00, 9.79it/s] 보통 파이썬 tqdm
white.seolpyo.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
파이썬에는 여러가지 모듈이 있는데, 그 중에는 반복 작업의 진행 정도를 표시해주는 tqdm이라는 모듈이 있습니다.tqdm 모듈은 보통 for문에서 사용하기 쉬운데, for문이 아닌 다른 반복문에서도 사용이 가능합니다.예시를 위해 0부터 99까지의 숫자를 가진 리스트를 만들어보겠습니다.
a = list(range(100))
print('a =', a)
# https://redfox.tistory.com
>>> a = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
0부터 99까지 100개의 요소를 가진 리스트를 만들었습니다.이 리스트 a를 가지고 for문을 이용해 반복작업을 할 때, tqdm을 통해 작업 진행도를 표시하려면 다음과 같이 할 수 있습니다.
rom tqdm import tqdm
from time import sleep
# https://redfox.tistory.com
a = list(range(100))
print('a =', a)
b = []
for i in tqdm(a):
b.append(i)
sleep(0.1)
print('b =', b)
>>> a = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:10<00:00, 9.80it/s]
b = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
예시를 위해 0.1초마다 for문을 이용해 리스트 a의 요소를 하나씩 리스트 b에 append시키는 코드를 만들었습니다.결과는 위와 같이 나오는 것을 알 수 있습니다.그렇다면 for문이 아닌 while문을 사용할 때 tqdm을 통해 작업의 진행도를 표시하기 위해서는 다음과 같이 tqdm의 최댓값과, 반복문을 실행할 때마다 진행도를 업데이트하도록 코드를 입력해주면 됩니다.
from tqdm import tqdm
from time import sleep
# https://redfox.tistory.com
a = list(range(100))
print('a =', a)
c = []
with tqdm(total = len(a)) as pbar:
d = 0
while d < 100:
pbar.update(1)
c.append(a[d])
d += 1
sleep(0.1)
print('c =', c)
>>> a = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:10<00:00, 9.80it/s]
c = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
while문을 사용해 리스트 a의 각 요소들을 하나씩 리스트 c에 append 시키는 코드입니다.이렇게 for문이 아닌 반복문에서 tqdm을 사용하기 위해서는 with 명령어를 통해 리스트 a의 요소 갯수를 최댓값으로 가지는 게이지 바를 tqdm(total = {최댓값})을 선언해 만든 다음, while문을 통해 작업이 반복될 때마다 진행도를 1씩 갱신하도록 한 것입니다.결과는 위 코드에서 볼 수 있는 것처럼 for문을 이용해 반복했을 때와 동일한 결과를 보여줍니다.마지막으로 for문을 사용했을 때와 while문을 사용했을 때, 두 반복문을 모두 사용하는 예제 코드를 보고 마무리하겠습니다.
from tqdm import tqdm
from time import sleep
# https://redfox.tistory.com
a = list(range(100))
print('a =', a)
b = []
for i in tqdm(a):
b.append(i)
sleep(0.1)
print('b =', b)
c = []
with tqdm(total = len(a)) as pbar:
d = 0
while d < 100:
pbar.update(1)
c.append(a[d])
d += 1
sleep(0.1)
print('c =', c)
>>> a = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:10<00:00, 9.80it/s]
b = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:10<00:00, 9.88it/s]
c = [0, 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
'파이썬 > 예제' 카테고리의 다른 글
파이썬 멀티프로세싱 Pool과 Process 차이점 비교. (1) | 2023.02.06 |
---|---|
파이썬 절사평균 구하기 예제 (0) | 2022.01.08 |
파이썬 네이버 뉴스 API 예제(requests 모듈 사용) (0) | 2021.02.25 |
파이썬 네이버 데이터랩 urllib 예제를 requests 예제로 바꾸기 (0) | 2021.02.24 |
최근댓글