J'ai un dossier contenant 322000 images. Lorsque je vais dans ce dossier avec n'importe quel gestionnaire de fichiers, il se bloque lors du chargement.
Comment puis-je m'y rendre et voir ou supprimer des images?
J'ai un dossier contenant 322000 images. Lorsque je vais dans ce dossier avec n'importe quel gestionnaire de fichiers, il se bloque lors du chargement.
Comment puis-je m'y rendre et voir ou supprimer des images?
Réponses:
Le moyen le plus simple et le plus efficace à mon humble avis est de demander à un script de réorganiser les fichiers en dossiers, si nécessaire, même en différentes couches de niveaux de répertoire. Cela rendra vos fichiers navigables sans étouffer nautilus.
Le script ci-dessous le fera pour vous. Il créera des dossiers avec un nombre arbitraire de fichiers. Ces dossiers seront organisés en sous-dossiers s'ils dépassent un (le même) nombre arbitraire, etc. En d'autres termes; chaque (sous-) niveau aura le même nombre maximal de fichiers / sous-répertoires, ce qui rend la navigation facilement possible.
Chacun des dossiers créés affiche le numéro de dossier + le nombre de sous-niveaux créés (où par exemple 22_1 ne contient que des fichiers):
J'ai testé dans un répertoire de 300 000 fichiers, à réorganiser en morceaux de (max) 100 fichiers, à organiser en répertoires supérieurs de (max) 100 dossiers, etc.
Cela a pris moins d'une minute sur mon système. Un test de 100 000 fichiers en plus petits morceaux était une question de secondes.
#!/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
Exécutez-le par la commande:
python3 /path/to/reorganize.py
Le script (tel qu'il est) crée simplement une structure de répertoires dans laquelle chaque niveau a un nombre défini de fichiers / dossiers. Il ne prend en compte aucun type d'organisation par nom, date ou autre.
Comme demandé dans un commentaire, un script pour déplacer les fichiers dans un répertoire plat après avoir traité les fichiers.
L'utilisation est à peu près la même. En tant que répertoire, définissez le même répertoire que le premier script, mais cela semble évident.
#!/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)
Comme mentionné dans un commentaire, le script suppose qu'il n'y a pas de risque de conflits de noms, car tous les fichiers provenaient initialement du même répertoire (plat).
Il s'agit d'un problème dans le gestionnaire de fichiers nautilus
lorsque vous travaillez avec des répertoires contenant un grand nombre de fichiers, cela est décrit dans ce bogue .
Je vous conseille dans ce cas d'utiliser un gestionnaire de fichiers rapide. vous pouvez l'utiliser gnome-commander
c'est 5X à 6X fois plus vite que nautilus et ce rapport devient plus grand lorsqu'il s'agit d'un grand nombre de fichiers. Ce n'est pas une jolie interface graphique, mais cela devrait vous aider à résoudre votre problème.
Pour l'installer:
sudo apt-get install gnome-commander
Ouvrez maintenant le répertoire avec un grand nombre de fichiers:
gnome-commander /path-to-dir
Je n'ai aucune expérience personnelle avec des bibliothèques aussi grandes, mais j'ai bien entendu parler de dauphin.
Dolphin est le gestionnaire de fichiers utilisé dans les distributions KDE telles que Kubuntu. Vous pouvez l'installer et l'exécuter très bien sur le bureau Ubuntu, bien que l'empreinte puisse être assez grande, car il doit télécharger et installer de nombreuses dépendances de KDE.
Télécharger Dolphin File Manager
Une autre approche pourrait être d'utiliser un photomanager. Je suppose que ces outils seraient optimisés pour afficher de grandes collections.
Pour les gestionnaires de photos, il existe de nombreuses alternatives, mais quelques-unes sont populaires:
J'ai essayé le gestionnaire de fichiers Thunar avec des images de l'ordre de 10 000. Affiche les vignettes assez rapidement sur les disques locaux et ouvre également les disques réseau mais beaucoup plus lentement. Je ne l'ai cependant pas essayé pour un plus grand nombre de fichiers. Mais au moins, il fait un bien meilleur travail que Nautilus sans compromettre l'interface graphique
sudo apt-get install thunar
Il existe également un script pour en faire votre gestionnaire de fichiers par défaut (si vous l'aimez). Vous pouvez trouver le script ici:
Vous pouvez passer par le terminal dans ce dossier, faire gnome-open image.jpg
ou xdg-open image.jpg
, ce qui devrait ouvrir l'une des images avec gnome-image-viewer
ou plus communément appelée eye of gnome
(eog). Ensuite, si vous appuyez sur F9ou accédez à Affichage -> Galerie d'images, vous pouvez prévisualiser les vignettes.