100000 개가 넘는 이미지가있는 폴더 찾아보기


8

322000 이미지가 들어있는 폴더가 있습니다. 파일 관리자가있는 폴더로 이동하면로드가 중단됩니다.

거기 가서 이미지를 보거나 삭제하려면 어떻게해야합니까?


시도한 답변에 대한 피드백을 줄 수 있습니까, 아니면 도움이 되었습니까?
Jacob Vlijm 2016 년

물론이야. 저는이 포럼을 좋아합니다. 전문가들로 가득합니다.
user22005

해당 폴더의 모든 썸네일을 미리 생성 하시겠습니까? 이를 위해 askubuntu.com/a/201997/350004 를 사용하십시오 .
solsTiCe

답변:


5

상위 폴더 당 (하위) 폴더 / 폴더 당 임의의 수의 파일을 사용하여 파일을 (재귀) 디렉토리로 자동 분할

가장 쉽고 IMHO의 가장 효율적인 방법은 필요한 경우 디렉토리 수준의 다른 계층이라도 스크립트가 파일을 폴더로 재구성하도록하는 것입니다. 그러면 노틸러스를 질식시키지 않고 파일을 찾아 볼 수 있습니다.

아래 스크립트는 당신을 위해 그것을 할 것입니다. 임의의 수의 파일로 폴더를 만듭니다. 이 폴더는 (같은) 임의의 수 등을 초과하면 하위 폴더로 구성됩니다. 각 (하위) 레벨은 동일한 최대 파일 수 / 하위 디렉토리를 가지므로 쉽게 찾아 볼 수 있습니다.

생성 된 각 폴더는 폴더 번호 + 생성 된 하위 레벨 수를 나타냅니다 (예 : 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

사용하는 방법

  1. 스크립트를 빈 폴더에 복사하여 reorganize.py
  2. 헤드 섹션에서 디렉토리의 경로, 서브 디렉토리 당 원하는 파일 수 (= 디렉토리를 포함하는 폴더 당 폴더 수)를 설정하십시오.
  3. 다음 명령으로 실행하십시오 :

    python3 /path/to/reorganize.py
    

노트

스크립트는있는 그대로 각 레벨에 정의 된 수의 파일 / 폴더가있는 디렉토리 구조를 작성합니다. 이름, 날짜 등으로 모든 종류의 조직을 고려하지 않습니다.


편집하다

주석에서 요청한대로 파일을 처리 한 후 파일을 하나의 플랫 디렉토리로 다시 이동시키는 스크립트입니다.
사용법은 거의 같습니다. 디렉토리로, 첫 번째 스크립트와 동일한 디렉토리를 설정하십시오.

#!/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)

노트

주석에서 언급했듯이 스크립트는 모든 파일이 처음에 동일한 (플랫) 디렉토리에서 왔기 때문에 이름 충돌의 위험이 없다고 가정합니다.


이것은 당신이 말한 것과 똑같이 작동했으며 굉장합니다. 감사합니다.
user22005

모든 파일을 하나의 폴더로 옮기는 방법이 있습니까?
user22005

@ user22005 당신은 의미 다시 한 폴더에? 나는 그들이 어디에서 왔는지 이해합니까? 그러나 그렇습니다. 추가 스크립트가 필요하십니까? 그냥 언급하십시오 :).
Jacob Vlijm

바로 그거죠. 모든 파일을 원래 위치로 다시 옮기려면 스크립트가 필요합니다.
user22005

@ user22005는 다음을 확인합니다. 디렉토리가 처음에 "평평한"(하위 디렉토리 없음)입니까?
Jacob Vlijm 2016

4

이것은 nautilus많은 수의 파일을 포함하는 디렉토리로 작업 할 때 파일 관리자의 문제입니다 . 이 버그에 설명되어 있습니다.

이 경우 빠른 파일 관리자를 사용하는 것이 좋습니다. gnome-commander노틸러스보다 5 배에서 6 배 빠른 속도로 사용할 수 있으며 많은 파일을 처리 할 때이 비율이 더 커집니다. 그것은 예쁜 GUI는 아니지만 문제를 해결하는 데 도움이됩니다.

설치하려면 :

sudo apt-get install gnome-commander

이제 많은 파일이있는 디렉토리를여십시오 :

gnome-commander /path-to-dir

이것은 이미지를보고 삭제하는 데 필요한 축소판 그림을 제공하지 않았습니다.
user22005

1

큰 도서관에 대한 개인적인 경험은 없지만 돌고래에 대해 잘 들었습니다.

Dolphin은 Kubuntu와 같은 KDE 배포에 사용되는 파일 관리자입니다. 많은 KDE 종속성을 다운로드하여 설치해야하기 때문에 설치 공간이 상당히 클 수 있지만 Ubuntu Desktop에서 설치하고 제대로 실행할 수 있습니다.

돌고래 파일 관리자 다운로드

다른 방법은 사진 관리자를 사용하는 것입니다. 그런 도구가 큰 컬렉션을 표시하도록 최적화되어 있다고 가정합니다.

사진 관리자에게는 몇 가지 대안이 있지만 인기있는 몇 가지 대안은 다음과 같습니다.

Shotwell , DigikamF-Spot


1

이미지가 10,000 개인 Thunar 파일 관리자를 시도했습니다. 로컬 드라이브에 썸네일을 상당히 빠르게 표시하고 네트워크 드라이브도 열지 만 훨씬 느립니다. 그래도 더 많은 파일을 시도하지 않았습니다. 그러나 적어도 그래픽 인터페이스를 손상시키지 않으면 서 노틸러스보다 훨씬 나은 작업을 수행합니다.

sudo apt-get install thunar

기본 파일 관리자로 설정하는 스크립트도 있습니다 (원하는 경우). 스크립트는 여기에서 찾을 수 있습니다.

https://help.ubuntu.com/community/DefaultFileManager


0

터미널을 통해 해당 폴더, do gnome-open image.jpg또는 로 이동할 수 있습니다.이 폴더는 일반적으로 (eog) 로 알려진 xdg-open image.jpg이미지 중 하나를 열어야 합니다. 다음으로, 보기-> 이미지 갤러리를 누르 거나 이동하면 축소판을 미리 볼 수 있습니다.gnome-image-viewereye of gnomeF9

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.