Документация Python неофициальный перевод

10.11. dircache – Кэшированные списки каталоговdircache – Cached directory listings

Устарело с версии 2.6: Модуль dircache удалён в Python 3.

Модуль dircache определяет функцию для чтения списка каталогов с использованием кэша, а также инвалидации кэша на основе mtime каталога. Кроме того, он определяет функцию для пометки каталогов путём добавления косой черты.

Модуль dircache определяет следующие функции:

dircache.reset()

Сбрасывает кэш каталога.

dircache.listdir(path)

Возвращает список содержимого каталога path, полученный из os.listdir(). Обратите внимание, что если path не изменяется, последующие вызовы listdir() не будут перечитывать структуру каталога.

Обратите внимание, что возвращаемый список следует рассматривать как доступный только для чтения. (Возможно, в будущей версии следует изменить его, чтобы возвращался кортеж?)

dircache.opendir(path)

То же, что и listdir(). Определено для обратной совместимости.

dircache.annotate(head, list)

Предполагается, что list – это список путей относительно head, и добавляет на месте косую черту '/' к каждому пути, который указывает на каталог.

>>> import dircache
>>> a = dircache.listdir('/')
>>> a = a[:] # Скопировать возвращаемое значение, чтобы можно было изменить 'a'
>>> a
['bin', 'boot', 'cdrom', 'dev', 'etc', 'floppy', 'home', 'initrd', 'lib', 'lost+
found', 'mnt', 'proc', 'root', 'sbin', 'tmp', 'usr', 'var', 'vmlinuz']
>>> dircache.annotate('/', a)
>>> a
['bin/', 'boot/', 'cdrom/', 'dev/', 'etc/', 'floppy/', 'home/', 'initrd/', 'lib/
', 'lost+found/', 'mnt/', 'proc/', 'root/', 'sbin/', 'tmp/', 'usr/', 'var/', 'vm
linuz']