progress icon indicating copy to clipboard operation
progress copied to clipboard

Unwanted characters printing after bar.finish()

Open AldoMaine opened this issue 3 years ago • 3 comments

Windows 10, Python 3.9.7

Running this code:

`import random import time from progress.bar import Bar

def sleep(): t = 0.01 t += t * random.uniform(-0.1, 0.1) # Add some variance time.sleep(t)

bar = Bar('Processing') for i in bar.iter(range(200, 400)): sleep() bar.finish()`

Yields this in the console: Processing |################################| 200/200 [?25h

The last line is the unexpected output.

Investigation: When finish() runs, it prints '\x1b[?25h' if hidden_cursor is True. On my system that results in the unwanted characters shown above. Probably a Windows thing?

Workaround: add bar._hidden_cursor = False before bar.finish()

AldoMaine avatar Mar 31 '22 14:03 AldoMaine

I have the same issue from time to time.

Windows 10, Python 3.10.5

JadedHeart avatar Nov 28 '22 17:11 JadedHeart

I had the same issue and I found a good solution in this stackoverflow post

Windows 10, Python 3.11.3

It seems that Windows does not really support the VT100 terminal escape codes. The Python cursor module implements a platform independent cursor hide/show. It uses the Windows API on Windows and the VT100 codes on Posix.

I just created a pull request (https://github.com/verigak/progress/pull/109)

james-duvall avatar May 18 '23 17:05 james-duvall

The PR from @james-duvall fixes the issue and should be merged!

mfebrizio avatar Mar 28 '24 18:03 mfebrizio