Mam folder z 322000 obrazkami. Kiedy przechodzę do tego folderu z dowolnym menedżerem plików, blokuje się podczas ładowania.
Jak mogę tam wejść i wyświetlić lub usunąć obrazy?
Mam folder z 322000 obrazkami. Kiedy przechodzę do tego folderu z dowolnym menedżerem plików, blokuje się podczas ładowania.
Jak mogę tam wejść i wyświetlić lub usunąć obrazy?
Odpowiedzi:
Najłatwiejszym i najskuteczniejszym sposobem IMHO jest reorganizacja plików w folderach, w razie potrzeby nawet na różnych poziomach poziomów katalogów. To sprawi, że twoje pliki będą można przeglądać bez zadławienia nautilusa.
Poniższy skrypt zrobi to za Ciebie. Stworzy foldery z dowolną liczbą plików. Foldery te zostaną zorganizowane w podfoldery, jeśli przekroczą (tę samą) dowolną liczbę itp. Innymi słowy; każdy (pod) poziom będzie miał taką samą maksymalną liczbę plików / podkatalogów, co ułatwi przeglądanie.
Każdy z utworzonych folderów pokazuje numer folderu + liczbę utworzonych podpoziomów (gdzie np. 22_1 zawiera tylko pliki):
Przetestowałem w katalogu zawierającym 300 000 plików, które zostały zreorganizowane w kawałki (maks.) 100 plików, aby były uporządkowane w doskonałych katalogach (maks.) 100 folderów itp.
Zajęło to mniej niż minutę w moim systemie. Test 100 000 plików na mniejsze fragmenty zajął kilka sekund.
#!/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
Uruchom go za pomocą polecenia:
python3 /path/to/reorganize.py
Skrypt (tak jak jest) po prostu tworzy strukturę katalogów, w której każdy poziom ma określoną liczbę plików / folderów. Nie bierze pod uwagę żadnej organizacji według nazwy, daty ani żadnej innej.
Zgodnie z prośbą w komentarzu, skrypt do przeniesienia plików z powrotem do jednego płaskiego katalogu po przetworzeniu plików.
Użycie jest prawie takie samo. Jako katalog ustaw ten sam katalog co pierwszy skrypt, ale wydaje się to oczywiste.
#!/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)
Jak wspomniano w komentarzu, skrypt zakłada, że nie ma ryzyka kolizji nazw, ponieważ wszystkie pliki początkowo pochodziły z tego samego (płaskiego) katalogu.
Jest to problem w menedżerze plików nautilus
podczas pracy z katalogami zawierającymi dużą liczbę plików, co opisano w tym błędzie .
Radzę w tym przypadku użyć szybkiego menedżera plików. możesz użyć gnome-commander
tego od 5 do 6 razy szybciej niż nautilus, a stosunek ten staje się większy, gdy masz do czynienia z dużą liczbą plików. To nie jest tak ładny GUI, ale powinien pomóc ci rozwiązać problem.
Aby zainstalować:
sudo apt-get install gnome-commander
Teraz otwórz katalog z dużą liczbą plików:
gnome-commander /path-to-dir
Nie mam osobistego doświadczenia z tak dużymi bibliotekami, ale dobrze słyszałem o delfinach.
Dolphin to menedżer plików używany w dystrybucjach KDE, takich jak Kubuntu. Możesz go zainstalować i uruchomić dobrze na Ubuntu Desktop, chociaż może być dość duży, ponieważ musi pobrać i zainstalować wiele zależności KDE.
Pobierz Menedżer plików Dolphin
Innym podejściem może być użycie menedżera zdjęć. Zakładam, że takie narzędzia byłyby zoptymalizowane do wyświetlania dużych kolekcji.
Dla fotomanagerów jest całkiem sporo alternatyw, ale kilka popularnych to:
Wypróbowałem menedżera plików Thunar z obrazami rzędu 10 000. Wyświetla miniatury dość szybko na dyskach lokalnych i otwiera dyski sieciowe, ale znacznie wolniej. Jednak nie próbowałem tego dla większej liczby plików. Ale przynajmniej wykonuje znacznie lepszą pracę niż Nautilus, nie naruszając interfejsu graficznego
sudo apt-get install thunar
Istnieje również skrypt, aby ustawić go jako domyślny menedżer plików (jeśli Ci się spodoba). Skrypt można znaleźć tutaj:
Możesz przejść przez terminal do tego folderu, wykonaj gnome-open image.jpg
lub xdg-open image.jpg
, który powinien otworzyć jeden z obrazów z gnome-image-viewer
lub bardziej powszechnie znany jako eye of gnome
(eog). Następnie, jeśli klikniesz F9lub przejdziesz do Widok -> Galeria obrazów, możesz wyświetlić podgląd miniatur.