322000個の画像を含むフォルダーがあります。ファイルマネージャーを使用してそのフォルダーに移動すると、読み込みが停止します。
そこに行って画像を表示または削除するにはどうすればよいですか?
最も簡単で最も効率的な方法は、スクリプトを使用してファイルをフォルダーに再編成することです。必要に応じて、ディレクトリレベルの異なるレイヤーも作成します。これにより、ノーチラスを窒息させることなくファイルを閲覧できるようになります。
以下のスクリプトはあなたのためにそれを行います。任意の数のファイルを含むフォルダーを作成します。これらのフォルダーは、(同じ)任意の数などを超える場合、サブフォルダーに編成されます。つまり、各(サブ)レベルには、同じ最大数のファイル/サブディレクトリがあり、ブラウジングが簡単になります。
作成された各フォルダには、フォルダ番号+作成されたサブレベルの数が表示されます(例:22_1にはファイルのみが含まれます)。
300.000ファイルのディレクトリでテストし、(最大)100ファイルのチャンクに再編成し、(最大)100フォルダの上位ディレクトリに整理しました。
私のシステムでは1分もかかりませんでした。 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
スクリプトは(そのまま)、各レベルに定義された数のファイル/フォルダーがあるディレクトリ構造を作成します。名前、日付、その他のあらゆる種類の組織を考慮していません。
コメントで要求されているように、ファイルを処理した後にファイルを1つのフラットディレクトリに戻すスクリプト。
使用方法はほとんど同じです。ディレクトリとして、最初のスクリプトと同じディレクトリを設定しますが、それは明らかです。
#!/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
の問題です。多数のファイルを含むディレクトリを操作する場合、これは bug で説明されています。
この場合、高速なファイルマネージャを使用することをお勧めします。 gnome-commander
を使用できます。nautilusの5倍から6倍の速度で、多数のファイルを処理する場合はこの比率が大きくなります。きれいなGUIではありませんが、問題を解決するのに役立ちます。
それをインストールするには:
Sudo apt-get install gnome-commander
多数のファイルを含むディレクトリを開きます。
gnome-commander /path-to-dir
私はこれほど大きな図書館で個人的な経験はありませんが、イルカについてはよく聞いています。
Dolphinは、KubuntuなどのKDEディストリビューションで使用されるファイルマネージャーです。 Ubuntuデスクトップにインストールして正常に実行できますが、多くのKDE依存関係をダウンロードしてインストールする必要があるため、フットプリントは非常に大きくなる可能性があります。
別のアプローチは、フォトマネージャーを使用することです。このようなツールは、大規模なコレクションを表示するために最適化されると思います。
写真管理者にはかなりの選択肢がありますが、人気のあるものは次のとおりです。
Thunarファイルマネージャーで10,000のオーダーの画像を試しました。ローカルドライブにサムネイルをかなりすばやく表示し、ネットワークドライブも開きますが、非常に遅くなります。ただし、これよりも多くのファイルで試したことはありません。しかし、少なくとも、グラフィカルインターフェイスを損なうことなく、Nautilusよりもはるかに良い仕事をします
Sudo apt-get install thunar
デフォルトのファイルマネージャーにするスクリプトもあります(必要に応じて)。スクリプトは次の場所にあります。
ターミナルを介してそのフォルダに移動し、gnome-open image.jpg
またはxdg-open image.jpg
を実行し、gnome-image-viewer
またはより一般的にeye of gnome
(eog)として知られている画像の1つを開く必要があります。次に、ヒットした場合 F9 または[表示]-> [画像ギャラリー]に移動して、サムネイルをプレビューできます。