os.walk очень медленный, есть способ оптимизировать?
я используюos.walk
построить карту хранилища данных (эта карта будет использована позже в инструменте, который я создаю)
Это код, который я сейчас использую:
def find_children(tickstore):
children = []
dir_list = os.walk(tickstore)
for i in dir_list:
children.append(i[0])
return children
Я сделал некоторый анализ на это:
dir_list = os.walk(tickstore)
работает мгновенно, если я ничего не делаю сdir_list
тогда эта функция завершается мгновенно.
Перебираетdir_list
это занимает много времени, даже если я неappend
что-нибудь, просто перебирая это, что занимает время.
Tickstore
большое хранилище данных, с ~ 10000 каталогов.
В настоящее время для выполнения этой функции требуется около 35 минут.
Есть ли способ ускорить его?
Я смотрел на альтернативыos.walk
но ни один из них, казалось, не давал большого преимущества с точки зрения скорости.