进度条在解析期间运行

时间:2016-12-22 20:22:29

标签: python python-2.7 parsing progress-bar

我希望能够在我的parse_files函数运行时运行进度条。我已经编写了这两个函数但是如何才能获得进度条以实际显示parse_files函数的进度?

解析代码:

def parse_files(directory):
    results = []
    for filename in os.listdir(directory):
        if filename.endswith(('.cfg', '.startup', '.confg')):
            file_name = os.path.join(directory, filename)
            with open(file_name, "r") as in_file:
                for line in in_file:
                    match = re.search('^hostname\s(\S+)$', line)
                    if match:
                        results.append(match.group(1))
    return results

进度条形码:

def progress_bar():
    from time import sleep
    for i in range(21):
        sys.stdout.write('\r')
        sys.stdout.write("[%-20s] %d%%" % ('='*i, 5*i))
        sys.stdout.flush()
        sleep(0.25)

基于以下对tqdm的评论,我让它以我想要的方式工作。但是,就像我说我试图避免使用其他模块一样,这应该没问题。

def parse_files(directory):
    results = []
    for i in tqdm(range(1000)):
        time.sleep(.01)
    for filename in os.listdir(directory):
        if filename.endswith(('.cfg', '.startup', '.confg')):
            file_name = os.path.join(directory, filename)
            with open(file_name, "r") as in_file:
                for line in in_file:
                    match = re.search('^hostname\s(\S+)$', line)
                    if match:
                        results.append(match.group(1))
    return results

0 个答案:

没有答案