tqdm.write() 中的回车 return
Carriage return in tqdm.write()
我在使用马车 return 和 tqdm.write()
时遇到问题
此代码完美运行,它制作了旋转条的动画
step = 0
for x in range (0,50):
animation = {0: '|',
1: '/',
2: '-',
3: '\'
}[step]
tqdm.write(animation, end='\r')
step = (step+1) % 4
time.sleep(0.1)
但是如果我在之前创建进度条:
bar = tqdm(total=100) # Here
step = 0
for x in range (0,50):
animation = {0: '|',
1: '/',
2: '-',
3: '\'
}[step]
tqdm.write(animation, end='\r')
step = (step+1) % 4
time.sleep(0.1)
我只有一个进度条显示。
有什么想法吗?
这在官方 tqdm github 中被报告为一个问题。
https://github.com/tqdm/tqdm/issues/520
作者建议使用前缀而不是结尾进行更正
from time import sleep
from tqdm import tqdm, trange
from tqdm._utils import _term_move_up
prefix = _term_move_up() + '\r'
print('')
for x in trange(50):
tqdm.write(prefix + "|/-\"[x % 4])
sleep(0.1)
我在使用马车 return 和 tqdm.write()
时遇到问题此代码完美运行,它制作了旋转条的动画
step = 0
for x in range (0,50):
animation = {0: '|',
1: '/',
2: '-',
3: '\'
}[step]
tqdm.write(animation, end='\r')
step = (step+1) % 4
time.sleep(0.1)
但是如果我在之前创建进度条:
bar = tqdm(total=100) # Here
step = 0
for x in range (0,50):
animation = {0: '|',
1: '/',
2: '-',
3: '\'
}[step]
tqdm.write(animation, end='\r')
step = (step+1) % 4
time.sleep(0.1)
我只有一个进度条显示。
有什么想法吗?
这在官方 tqdm github 中被报告为一个问题。
https://github.com/tqdm/tqdm/issues/520
作者建议使用前缀而不是结尾进行更正
from time import sleep
from tqdm import tqdm, trange
from tqdm._utils import _term_move_up
prefix = _term_move_up() + '\r'
print('')
for x in trange(50):
tqdm.write(prefix + "|/-\"[x % 4])
sleep(0.1)