ฉันมีโฟลเดอร์ที่มีรูปภาพ 322000 ภาพ เมื่อฉันไปที่โฟลเดอร์นั้นด้วยเครื่องมือจัดการไฟล์มันติดค้างอยู่ระหว่างการโหลด
ฉันจะไปที่นั่นและดูหรือลบภาพได้อย่างไร?
ฉันมีโฟลเดอร์ที่มีรูปภาพ 322000 ภาพ เมื่อฉันไปที่โฟลเดอร์นั้นด้วยเครื่องมือจัดการไฟล์มันติดค้างอยู่ระหว่างการโหลด
ฉันจะไปที่นั่นและดูหรือลบภาพได้อย่างไร?
คำตอบ:
วิธีที่ง่ายและมีประสิทธิภาพมากที่สุดของ IMHO คือการจัดระเบียบไฟล์ใหม่ลงในโฟลเดอร์หากจำเป็นแม้กระทั่งเลเยอร์ต่างระดับของไดเรกทอรี นี่จะทำให้ไฟล์ของคุณสามารถเรียกดูได้โดยไม่สำลัก nautilus
สคริปต์ด้านล่างจะทำเพื่อคุณ มันจะสร้างโฟลเดอร์ที่มีจำนวนไฟล์โดยพลการ โฟลเดอร์เหล่านี้จะถูกจัดระเบียบเป็นโฟลเดอร์ย่อยหากมีจำนวนเกินกว่าจำนวนที่กำหนดไว้ (เช่นเดียวกัน) ในคำอื่น ๆ แต่ละระดับ (ย่อย) จะมีจำนวนไฟล์สูงสุด / ไดเรกทอรีย่อยเท่ากันทำให้การเรียกดูทำได้ง่าย
แต่ละโฟลเดอร์ที่สร้างขึ้นจะแสดงหมายเลขโฟลเดอร์ + จำนวนระดับย่อยที่สร้างขึ้น (เช่น 22_1 มีเฉพาะไฟล์):
ฉันทดสอบในไดเรกทอรีของไฟล์ 300.000 เพื่อจัดระเบียบใหม่ในกลุ่มของ (สูงสุด) 100 ไฟล์เพื่อจัดระเบียบในไดเรกทอรีที่เหนือกว่าของ (สูงสุด) 100 โฟลเดอร์ ฯลฯ
ใช้เวลาน้อยกว่าหนึ่งนาทีในระบบของฉัน การทดสอบไฟล์จำนวน 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
สคริปต์ (ตามเดิม) เพียงแค่สร้างโครงสร้างไดเรกทอรีซึ่งแต่ละระดับมีจำนวนไฟล์ / โฟลเดอร์ที่กำหนดไว้ ไม่คำนึงถึงองค์กรทุกประเภทตามชื่อวันที่หรืออะไรก็ตาม
ตามที่ร้องขอในความคิดเห็นสคริปต์เพื่อย้ายไฟล์กลับไปยังหนึ่งไดเรกทอรีแบนหลังจากประมวลผลไฟล์
การใช้งานค่อนข้างเหมือนกัน ในฐานะไดเรกทอรีให้ตั้งไดเรกทอรีเดียวกันเป็นสคริปต์แรก แต่ดูเหมือนจะชัดเจน
#!/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)
ดังที่ได้กล่าวไว้ในความคิดเห็นสคริปต์จะถือว่าไม่มีความเสี่ยงของการปะทะกันของชื่อเนื่องจากไฟล์ทั้งหมดเริ่มมาจากไดเรกทอรีเดียวกัน (flat)
นี่เป็นปัญหาในตัวจัดการไฟล์nautilus
เมื่อทำงานกับไดเรกทอรีที่มีไฟล์จำนวนมากซึ่งจะอธิบายในข้อผิดพลาดนี้
ฉันแนะนำคุณในกรณีนี้ให้ใช้ตัวจัดการไฟล์อย่างรวดเร็ว คุณสามารถใช้gnome-commander
ความเร็วสูงกว่าหอยโข่งถึง 5 เท่าถึง 6 เท่าและอัตราส่วนนี้จะใหญ่ขึ้นเมื่อจัดการกับไฟล์จำนวนมาก มันไม่ได้สวย GUI แต่มันจะช่วยคุณในการแก้ไขปัญหาของคุณ
วิธีติดตั้ง:
sudo apt-get install gnome-commander
ตอนนี้เปิดไดเรกทอรีที่มีไฟล์จำนวนมาก:
gnome-commander /path-to-dir
ฉันไม่มีประสบการณ์ส่วนตัวเกี่ยวกับห้องสมุดขนาดใหญ่ แต่ฉันเคยได้ยินปลาโลมา
Dolphin เป็นโปรแกรมจัดการไฟล์ที่ใช้ในการกระจาย KDE เช่น Kubuntu คุณสามารถติดตั้งและใช้งานได้ดีบน Ubuntu Desktop แม้ว่ารอยเท้าอาจมีขนาดค่อนข้างใหญ่เนื่องจากต้องดาวน์โหลดและติดตั้งการพึ่งพา KDE จำนวนมาก
ดาวน์โหลด Dolphin File Manager
อีกวิธีหนึ่งคือการใช้ช่างภาพ ฉันจะสมมติว่าเครื่องมือดังกล่าวจะได้รับการปรับแต่งเพื่อแสดงคอลเลกชันขนาดใหญ่
สำหรับนักถ่ายภาพมีทางเลือกค่อนข้างน้อย แต่มีสองอย่างที่ได้รับความนิยมคือ:
ฉันลองใช้ตัวจัดการไฟล์ Thunar ด้วยภาพตามลำดับ 10,000 แสดงภาพขนาดย่อบนไดรฟ์ในเครื่องอย่างรวดเร็วและเปิดไดรฟ์เครือข่าย แต่ช้ากว่ามาก ฉันยังไม่ได้ลองใช้กับไฟล์จำนวนมาก แต่อย่างน้อยมันก็ทำงานได้ดีกว่า Nautilus โดยไม่ส่งผลต่อส่วนต่อประสานกราฟิก
sudo apt-get install thunar
นอกจากนี้ยังมีสคริปต์เพื่อให้เป็นตัวจัดการไฟล์เริ่มต้น (ถ้าคุณชอบ) คุณสามารถค้นหาสคริปต์ได้ที่นี่:
คุณสามารถผ่านเทอร์มินัลไปที่โฟลเดอร์ทำgnome-open image.jpg
หรือxdg-open image.jpg
ซึ่งควรจะเปิดหนึ่งในภาพที่มีgnome-image-viewer
หรือที่รู้จักกันทั่วไปว่าเป็นeye of gnome
(eog) ถัดไปถ้าคุณกดปุ่มF9หรือไปที่ View -> Image Gallery คุณสามารถดูตัวอย่างภาพขนาดย่อ