如何在Python中使用TQM打印单行进度条?
通常,在任何TQM示例中,每次新迭代都会打印一个新的进度条,如下所示:如何在Python中使用TQM打印单行进度条?,python,progress-bar,tqdm,Python,Progress Bar,Tqdm,通常,在任何TQM示例中,每次新迭代都会打印一个新的进度条,如下所示: Loading : 0%| | 0/6 [00:09<?, ?it/s]WARNING: Truncating EEG Loading : 17%|█▋ | 1/6 [00:39<01:37, 19.54s/it]WARNING: Truncating EEG Loading : 33%|███▎ | 2/6 [00:43<01:18, 19.7
Loading : 0%| | 0/6 [00:09<?, ?it/s]WARNING: Truncating EEG
Loading : 17%|█▋ | 1/6 [00:39<01:37, 19.54s/it]WARNING: Truncating EEG
Loading : 33%|███▎ | 2/6 [00:43<01:18, 19.74s/it]WARNING: Truncating EEG
Loading : 50%|█████ | 3/6 [05:58<00:45, 15.19s/it]WARNING: Truncating EEG
Loading : 67%|██████▋ | 4/6 [06:04<03:30, 105.31s/it]WARNING: Truncating EEG
Filtering : 83%|████████▎ | 5/6 [06:09<01:15, 75.37s/it]
from tqdm import trange
from multiprocessing import Pool
class TqdmHow:
def __init__(self):
self.tqdmloop = False
self.eeg_files = list(range(1, 17))
def load(self, verbose=1):
self.verbose = verbose
# load EEG and adapt Hypno files
self.tqdmloop = trange(len(self.eeg_files), desc='Loading data')
# with Pool(3) as p:
for i in self.tqdmloop:
self.load_eeg_hypno(self.eeg_files[i])
self._print('WARNING: Truncating EEG')
self.tqdmloop = False
def _progress(self, description):
self.tqdmloop.set_description(description + ' ' * (10 - len(description)))
self.tqdmloop.refresh()
def load_eeg_hypno(self, eeg_file):
x = eeg_file
self._progress('Loading')
self._progress('Filtering')
self._progress('other procedure')
def _print(self, statement):
if 'WARNING' in statement and self.verbose == 0: return
if self.tqdmloop:
self.tqdmloop.write(str(statement))
self.tqdmloop.refresh()
else:
print(statement)
Tqdm_how = TqdmHow()
Tqdm_how.load(verbose=1)