""" progress bar""" import time import sys def print_progress_bar(duration, msg='', bar_length=50): """ Prints a progress bar with a message to the terminal. :param duration: The number of seconds the progress bar will run. :param msg: The message to display before the progress bar. :param bar_length: The character length of the bar (default is 50). """ for i in range(duration): # Calculate the percentage completion. percent = (i + 1) / duration filled_length = int(bar_length * percent) # Create the bar string. progress = '█' * filled_length + '-' * (bar_length - filled_length) # Print the progress bar with the message. sys.stdout.write(f'\r{msg} |{progress}| {percent*100:.2f}% Complete') sys.stdout.flush() # Sleep for one second. time.sleep(1) # Print a newline at the end to ensure the next terminal output is on a new line. print() # You can add some testing code here to see how it works when you run this module directly. if __name__ == '__main__': # Test the progress bar function. print_progress_bar(60, msg='Loading')