ด้านล่างสคริปต์หลาม
สคริปต์จะเพิ่มศูนย์นำหน้าตามจำนวนหลักที่กำหนด หากชื่อมีขนาดใหญ่กว่านั้นไฟล์ (ชื่อ) จะไม่ถูกแตะต้อง
การรวมส่วนขยายที่แตกต่างกันในการเปลี่ยนชื่อหนึ่งครั้งอาจช่วยเพิ่มความสะดวกสบายได้ เพื่อเพิ่มส่วนขยาย (s), เพียงแค่เพิ่มให้ tuple extensions = (".jpg", ".jpeg", ".tiff")
เช่น
คัดลอกข้อความไปยังไฟล์เปล่าบันทึกเป็นrename.py
ป้อนเส้นทางที่ถูกต้องไปยังไดเรกทอรีไฟล์ ( sourcedir
) จำนวนหลักที่คุณต้องการให้ชื่อใหม่มี ( number_ofdigits
) และนามสกุลไฟล์เพื่อเปลี่ยนชื่อ ( extensions
)
เรียกใช้โดยคำสั่ง:
python3 /path/to/script/rename.py
บท:
#!/usr/bin/python3
import shutil
import os
sourcedir = "/path/to/files"; number_ofdigits = 5; extensions = (".jpg", ".jpeg")
files = os.listdir(sourcedir)
for item in files:
if item.endswith(extensions):
name = item.split("."); zeros = number_ofdigits-len(name[0])
newname = str(zeros*"0")+name[0]+"."+name[1]
shutil.move(sourcedir+"/"+item, sourcedir+"/"+newname)
แก้ไข:
ด้านล่างเป็นรุ่นที่ปรับปรุงเล็กน้อย โดยจะกำหนดชื่อที่ยาวที่สุดในไดเรกทอรีโดยอัตโนมัติและเพิ่มศูนย์นำหน้าไปยังความยาวของชื่อที่ยาวที่สุด
ตัวอย่าง:
1.jpg
12.jpg
123.jpg
กลายเป็น:
001.jpg
012.jpg
123.jpg
ไม่จำเป็นต้องกำหนดจำนวนหลัก
#!/usr/bin/python3
import shutil
import os
sourcedir = "/path/to/files"; extensions = (".jpg", ".jpeg")
files = [(f, f[f.rfind("."):], f[:f.rfind(".")]) for f in os.listdir(sourcedir)if f.endswith(extensions)]
maxlen = len(max([f[2] for f in files], key = len))
for item in files:
zeros = maxlen-len(item[2])
shutil.move(sourcedir+"/"+item[0], sourcedir+"/"+str(zeros*"0")+item[0])