在 os.listdir 生成列表 (Python) 时测量进度(剩余时间)

measure progress (time left) while os.listdir is generating a list (Python)

在 Python 2.7 中,我使用 os.listdir 生成文件夹中的文件列表。有很多文件,我与文件夹的连接速度很慢,因此最多可能需要 30 秒才能完成。这是一个例子:

import os
import time

start_time = time.time()
dir_path = r'C:\Users\my_name\Documents\data_directory'   #example path
file_list = os.listdir(dir_path)

print 'it took', time.time() - start_time, 'seconds'

这是我正在处理的 Tkinter GUI,我想制作一个状态栏,显示此步骤需要很长时间(大约 30 秒)还剩下多少时间或百分比。

有没有办法显示完成 file_list = os.listdir(dir_path) 步骤的剩余时间或剩余百分比???

您应该使用 scandir,它仅适用于 Python 3.

但是有一个back port.

要了解问题,请阅读 PEP 471