我希望能够在我的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