322000枚の画像が入ったフォルダがあります。任意のファイルマネージャでそのフォルダに移動すると、ロードが停止します。
そこに行って画像を表示または削除するにはどうすればよいですか?
322000枚の画像が入ったフォルダがあります。任意のファイルマネージャでそのフォルダに移動すると、ロードが停止します。
そこに行って画像を表示または削除するにはどうすればよいですか?
回答:
最も簡単でIMHOの最も効率的な方法は、スクリプトを使用してファイルをフォルダーに再編成することです。必要に応じて、ディレクトリレベルの異なるレイヤーでも可能です。これにより、nautilusを使用せずにファイルを閲覧できるようになります。
以下のスクリプトがそれを行います。任意の数のファイルを含むフォルダを作成します。これらのフォルダは、(同じ)任意の数などを超えると、サブフォルダに整理されます。各(サブ)レベルには同じ最大数のファイル/サブディレクトリがあり、簡単に閲覧できます。
作成された各フォルダーには、フォルダー番号+作成されたサブレベルの数が表示されます(たとえば、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
多数のファイルを含むディレクトリを操作するときのファイルマネージャの問題です。このバグで説明されています。
この場合、高速のファイルマネージャを使用することをお勧めします。gnome-commander
nautilusの5倍から6倍の速度で使用でき、この比率は多数のファイルを処理するときに大きくなります。これはかなりのGUIではありませんが、問題の修正に役立ちます。
それをインストールするには:
sudo apt-get install gnome-commander
次に、多数のファイルがあるディレクトリを開きます。
gnome-commander /path-to-dir
それほど大きな図書館での個人的な経験はありませんが、イルカについてはよく聞いています。
Dolphinは、KubuntuなどのKDEディストリビューションで使用されるファイルマネージャです。多くのKDE依存関係をダウンロードしてインストールする必要があるため、フットプリントは非常に大きくなる可能性がありますが、Ubuntuデスクトップにインストールして問題なく実行できます。
別のアプローチはフォトマネージャーを使用することかもしれません。このようなツールは、大規模なコレクションを表示するように最適化されると思います。
フォトマネージャーにはかなりの数の選択肢がありますが、人気のあるものは次のとおりです。
10,000枚程度の画像でThunarファイルマネージャーを試してみました。ローカルドライブにサムネイルをかなり高速に表示し、ネットワークドライブを開きますが、速度はかなり遅くなります。しかし、私はそれをより多くのファイルに対して試していません。しかし、少なくとも、グラフィカルインターフェイスを損なうことなく、Nautilusよりもはるかに優れています。
sudo apt-get install thunar
デフォルトのファイルマネージャにするスクリプトもあります(必要な場合)。あなたはここでスクリプトを見つけることができます:
ターミナルを介してそのフォルダ、do、gnome-open image.jpg
またはxdg-open image.jpg
に移動できます。これにより、(eog)gnome-image-viewer
として、またはより一般的に知られている画像の1つが開きeye of gnome
ます。次に、F9[ ヒット] または[表示]-> [画像ギャラリー]に移動すると、サムネイルをプレビューできます。