Я пытаюсь улучшить производительность elfinder, файлового менеджера на основе ajax (elRTE.ru).
Он использует os.listdir в рекурсивном режиме для обхода всех каталоги рекурсивно и имеют снижение производительности (например, перечисление каталога с 3000+ файлами занимает 7 секунд)..
Я пытаюсь улучшить производительность для этого, вот это функция ходьбы:
for d in os.listdir(path):
pd = os.path.join(path, d)
if os.path.isdir(pd) and not os.path.islink(pd) and self.__isAccepted(d):
tree['dirs'].append(self.__tree(pd))
Мои вопросы:
Если я изменю os.walk вместо os .listdir, повысит ли это производительность?
как насчет использования dircache.listdir()? кэшировать ВЕСЬ содержимое каталога/подкаталога при первоначальном запросе и возвращать результаты кэширования, если в файле не загружены новые файлы или нет изменений?
Есть ли какой-либо другой более быстрый метод обхода каталога?
Любой другой файловый браузер на стороне сервера, который быстро написан на Python (но я предпочитаю сделать этот быстрый)?
Я пытаюсь улучшить производительность elfinder, файлового менеджера на основе ajax (elRTE.ru).
Он использует os.listdir в рекурсивном режиме для обхода всех каталоги рекурсивно и имеют снижение производительности (например, перечисление каталога с 3000+ файлами занимает 7 секунд)..
Я пытаюсь улучшить производительность для этого, вот это функция ходьбы:
[code] for d in os.listdir(path): pd = os.path.join(path, d) if os.path.isdir(pd) and not os.path.islink(pd) and self.__isAccepted(d): tree['dirs'].append(self.__tree(pd)) [/code]
Мои вопросы:
[list] [*]Если я изменю os.walk вместо os .listdir, повысит ли это производительность? [*]как насчет использования dircache.listdir()? кэшировать ВЕСЬ содержимое каталога/подкаталога при первоначальном запросе и возвращать результаты кэширования, если в файле не загружены новые файлы или нет изменений? [*]Есть ли какой-либо другой более быстрый метод обхода каталога? [*]Любой другой файловый браузер на стороне сервера, который быстро написан на Python (но я предпочитаю сделать этот быстрый)? [/list]
Кэширует ли os.listdir свои результаты или что-то в этом роде? Он перечислил мне файлы из предыдущей папки.
Я сделал довольно простую программу, просто чтобы протестировать параллельную обработку чтения файлов, она получает папку, перечисляет все...
Кэширует ли os.listdir свои результаты или что-то в этом роде? Он перечислил мне файлы из предыдущей папки.
Я сделал довольно простую программу, просто чтобы протестировать параллельную обработку чтения файлов, она получает папку, перечисляет все...
Кэширует ли os.listdir свои результаты или что-то в этом роде? Он перечислил мне файлы из предыдущей папки.
Я сделал довольно простую программу, просто чтобы протестировать параллельную обработку чтения файлов, она получает папку, перечисляет все...
У меня возникли проблемы с тем, чтобы PathCompleter из Prompttoolkit вел себя так, как я ожидал. Если я наберу C: вместо того, чтобы предлагать что-то вроде «C://», он начнет автоматически заполнять список файлов в текущем относительном каталоге....
Я хотел создать код, который будет проходить через мой каталог и для папок в определенной позиции пути, он будет вставлять в .txt, он создает в каждой дочерней папке количество веб-файлов этой дочерней папки. связаны с родительской папкой в...