У меня есть папка с 322000 изображений в ней. Когда я захожу в эту папку с любым файловым менеджером, он застревает при загрузке.
Как туда зайти и посмотреть или удалить изображения?
самое легкое, и по моему скромному мнению самый эффективный путь состоит в том, чтобы иметь сценарий, реорганизовывают файлы в папки, если необходимо даже различные слои уровней каталога. Это сделает Ваши файлы доступными для просмотра, не дросселируя наутилус.
сценарий ниже сделает это для Вас. Это создаст папки с произвольным числом файлов. Эти папки будут организованы в sub папки, если они превысят (то же) произвольное число, и т.д. Другими словами; у каждого (под-) уровень будет то же максимальное количество файлов / подкаталоги, делая просмотр легко возможного.
Каждая из созданных папок показывает число папки + количество созданных sub уровней (где, например, 22_1 только содержит файлы):
я протестировал в на каталоге 300 000 файлов, чтобы быть реорганизованным в блоках (макс.) 100 файлов, чтобы быть организованным в превосходящие каталоги (макс.) 100 папок и т.д.
потребовалась меньше тогда минута в моей системе. Тест 100 000 файлов в меньшие блоки был дело нескольких секунд.
#!/usr/bin/env python3
import subprocess
import os
import shutil
#--- set the directory to reorganize below
dr = "/path/to/directory"
#--- set the number of files/folders per level
size = 100
level = 0
def move(fn, drn, level):
folder = dr+"/"+str(drn)+"_"+str(level)
if not os.path.exists(folder):
os.mkdir(folder)
shutil.move(dr+"/"+f, folder+"/"+f)
while len(os.listdir(dr)) > size:
level += 1
fn = 0; drn = 1
for f in os.listdir(dr):
if fn < size:
move(fn, drn, level)
else:
fn = 0
drn += 1
move(fn, drn, level)
fn += 1
reorganize.py
Выполнение это командой:
python3 /path/to/reorganize.py
сценарий (как это) просто создает структуру каталогов, где каждый уровень имеет определенное количество файлов/папок. Это не принимает во внимание вида организации по имени, даты или что бы то ни было.
<час> Согласно просьбе в комментарии, сценарии для положения обратно файлов в один плоский каталог, обработав файлы.
использование является в значительной степени тем же. Как каталог, набор тот же каталог как первый сценарий, но это кажется очевидным.
#!/usr/bin/env python3
import shutil
import os
#--- set the directory, the same as the first script
dr = "/path/to/directory"
#---
# move the files back
for root, dirs, files in os.walk(dr):
for file in files:
shutil.move(root+"/"+file, dr+"/"+file)
# remove the (now empty) subdirectories
for d in os.listdir(dr):
folder = dr+"/"+d
if os.path.isdir(folder):
shutil.rmtree(folder)
, Как упомянуто в комментарии, сценарий предполагает, что нет риска столкновений имени, так как все файлы первоначально прибыли из того же (плоского) каталога.
Это - проблема в файловом менеджере nautilus
при работе с каталогами, содержащими большое количество файлов, это описано в этом ошибка .
я советую Вам в этом случае использовать некоторый быстрый Файловый менеджер. можно использовать gnome-commander
, это 5X к 6X времена быстрее, чем наутилус и это отношение становятся больше при контакте с большим количеством файлов. It не, что симпатичный GUI, но это должно помочь Вам решить свою проблему.
Для установки его:
sudo apt-get install gnome-commander
Теперь открывают каталог с большим количеством файлов:
gnome-commander /path-to-dir
У меня нет личного опыта с библиотеками настолько большим, но я услышал хороший о дельфине.
дельфин является файловым менеджером, используемым в дистрибутивах KDE, таких как Kubuntu. Можно установить его и выполнить его очень хорошо на Рабочем столе Ubuntu, хотя место могло бы быть довольно большим, поскольку это должно загрузить и установить много зависимостей KDE.
Файловый менеджер дельфина Загрузки
Другой подход мог бы быть должен использовать фотоменеджера. Я предположил бы, что такие инструменты будут оптимизированы для отображения большого количества.
Для фотоменеджеров существует довольно много альтернатив, но несколько популярных:
Вы могли пройти терминал к той папке, сделать gnome-open image.jpg
или xdg-open image.jpg
, который должен открыть одно из изображений с gnome-image-viewer
или чаще всего известный как eye of gnome
(eog). Затем, если Вы поражаете F9 или переходите к Представлению-> Галерея изображений, можно предварительно просмотреть миниатюры.
Я попробовал файловый менеджер Thunar изображениями в порядке 10 000. Миниатюры дисплеев справедливо быстро на локальных дисках и открывают сетевые диски также, но намного медленнее. Я не попробовал его за большее число файлов, все же. Но по крайней мере, это делает намного лучшее задание, чем Наутилус, не ставя под угрозу графический интерфейс
sudo apt-get install thunar
Существует также сценарий для создания этого Файловым менеджером по умолчанию (если Вам нравится он). Можно найти сценарий здесь: