Eu tenho uma pasta com 322000 imagens. Quando vou a essa pasta com qualquer gerenciador de arquivos, ele fica preso no carregamento.
Como posso ir lá e visualizar ou excluir imagens?
Eu tenho uma pasta com 322000 imagens. Quando vou a essa pasta com qualquer gerenciador de arquivos, ele fica preso no carregamento.
Como posso ir lá e visualizar ou excluir imagens?
Respostas:
A maneira mais fácil e mais eficiente do IMHO é fazer com que um script reorganize os arquivos em pastas, se necessário, mesmo em diferentes camadas de níveis de diretório. Isso tornará seus arquivos navegáveis sem sufocar o nautilus.
O script abaixo fará isso por você. Ele criará pastas com um número arbitrário de arquivos. Essas pastas serão organizadas em subpastas se excederem um (o mesmo) número arbitrário, etc. Em outras palavras; cada (sub) nível terá o mesmo número máximo de arquivos / subdiretórios, facilitando a navegação.
Cada uma das pastas criadas mostra o número da pasta + o número de subníveis criados (onde, por exemplo, 22_1 contém apenas arquivos):
Eu testei em um diretório de 300.000 arquivos, para ser reorganizado em pedaços de (no máximo) 100 arquivos, para ser organizado em diretórios superiores de (no máximo) 100 pastas, etc.
Demorou menos de um minuto no meu sistema. Um teste de 100.000 arquivos em pequenos pedaços foi uma questão de segundos.
#!/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
Execute-o pelo comando:
python3 /path/to/reorganize.py
O script (como está) apenas cria uma estrutura de diretórios onde cada nível tem um número definido de arquivos / pastas. Não leva em consideração nenhum tipo de organização por nome, data ou qualquer outra coisa.
Conforme solicitado em um comentário, um script para mover os arquivos de volta para um diretório simples após o processamento dos arquivos.
O uso é praticamente o mesmo. Como diretório, defina o mesmo diretório que o primeiro script, mas isso parece óbvio.
#!/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)
Conforme mencionado em um comentário, o script assume que não há risco de conflitos de nome, pois todos os arquivos vieram inicialmente do mesmo diretório (plano).
Este é um problema no gerenciador de arquivos nautilus
ao trabalhar com diretórios contendo um grande número de arquivos; isso é descrito neste bug .
Aconselho você, neste caso, a usar um gerenciador de arquivos rápido. você pode usá- gnome-commander
lo 5 a 6 vezes mais rápido que o nautilus e essa proporção aumenta quando se lida com um grande número de arquivos. Não é uma GUI bonita, mas deve ajudá-lo a resolver seu problema.
Para instalá-lo:
sudo apt-get install gnome-commander
Agora abra o diretório com grande número de arquivos:
gnome-commander /path-to-dir
Não tenho nenhuma experiência pessoal com bibliotecas tão grandes, mas ouvi falar bem de golfinhos.
Dolphin é o gerenciador de arquivos usado nas distribuições do KDE, como o Kubuntu. Você pode instalá-lo e executá-lo perfeitamente no Ubuntu Desktop, embora a área ocupada possa ser muito grande, pois ele precisa baixar e instalar muitas dependências do KDE.
Faça o download do Dolphin File Manager
Outra abordagem pode ser usar um fotomanager. Eu assumiria que essas ferramentas seriam otimizadas para exibir grandes coleções.
Para fotomanagers, existem várias alternativas, mas algumas populares são:
Eu tentei o gerenciador de arquivos Thunar com imagens da ordem de 10.000. Exibe miniaturas rapidamente nas unidades locais e abre as unidades de rede muito, mas muito mais lentamente. Eu não tentei para um número maior de arquivos, no entanto. Mas, pelo menos, ele faz um trabalho muito melhor que o Nautilus, sem comprometer a interface gráfica
sudo apt-get install thunar
Também existe um script para torná-lo o Gerenciador de arquivos padrão (se você quiser). Você pode encontrar o script aqui:
Você pode passar pelo terminal para essa pasta, do gnome-open image.jpg
ou xdg-open image.jpg
, que deve abrir uma das imagens com gnome-image-viewer
ou mais conhecido como eye of gnome
(eog). Em seguida, se você clicar F9ou ir para Exibir -> Galeria de imagens, poderá visualizar miniaturas.