एक अजगर स्क्रिप्ट के नीचे।
स्क्रिप्ट अंकों की निर्धारित संख्या तक अग्रणी शून्य जोड़ता है। यदि नाम इससे बड़ा है, तो फ़ाइल (नाम) अछूता है।
एक नाम बदलने की कार्रवाई में अलग-अलग एक्सटेंशन के संयोजन से कुछ सुविधा मिल सकती है। विस्तार (ओं) को जोड़ने के लिए, उदाहरण के लिए, उन्हें टपल में जोड़ें 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])