我目前有一个按关键字搜索文件的代码。有没有办法显示找到的文件数,因为代码运行和/或显示进度?我有一个大的目录要搜索,如果可能的话希望看到进展。我目前拥有的代码没有显示太多信息或处理时间。
{{1}}
答案 0 :(得分:0)
这很简单,但为什么不保留一个柜台呢?
files
编辑:如果你想计算进度,首先要弄清楚你要迭代的文件数量。如果您使用嵌套列表推导,则可以展平os.walk
发出的每个三元组中的每个filenames = [name for file in [files for _, _, files in os.walk(path)]]
num_files = float(len(filenames))
。
files_found = 0
for step, name in enumerate(filenames):
progress = step / num_files
print "{}% complete".format(progress * 100)
if keyword in name.lower():
files_found += 1
time.sleep(0)
update_progress_bar()
现在,您可以在每个步骤中将进度描述为当前步骤数除以文件数。换句话说,使用enumerate
获取步骤编号:
{{1}}
如果您希望在打印进度方面获得更多创意,那就是另一个问题。