è¶£å³ãæ¥åã§å€§éã®ãã¡ã€ã«ãæ±ãå Žé¢ãšããã®ã¯å€ã ããã®éãããŸãã«ã倧éã®ãã¡ã€ã«ããããšãäžã€äžã€ååãä»ããããšã¯ç©ççã«äžå¯èœã ãããããããã倧éã®ãã¡ã€ã«ã«å¯ŸããŠãäœãããæå³ã®ããååãã€ããŠããããããããªãšãã«æ¡çšããã®ããé£çªã®ã€ãããã¡ã€ã«åã ãPythonã䜿ãã°ãé£çªãªããŒã ãç°¡åã ãä»åã¯ããã¡ã€ã«ãé£çªãªããŒã ããæ¹æ³ç޹ä»ãããã
é£çªãªããŒã ãšã¯äœãïŒ
倧éã®ãã¡ã€ã«ã«å¯ŸããŠã001.txt, 002.txt, 003.txt ... ãšé£çªã®ã€ãããã¡ã€ã«åãã€ããããšãé£çªãªããŒã ãšåŒã¶ããã ããåã«æ°åã®é£çªã ãã§ã¯ããã¡ã€ã«åã«æå³ãä»ããããšã«ã¯ãªããªããããã§ãæå³ã®ããåäœããšã«ããè³æA-001.docxããè³æA-002.docxããè³æA-003.docxã...ã®ããã«ããæå³ã®ããååïŒé£çªãã®åœ¢åŒã§ãã¡ã€ã«åã倿ŽãããšäŸ¿å©ã ãé£çªãå é ã§ã¯ãªãæ«å°Ÿã«ãããšããã©ã«ãå ã«å¥ã®ãã¡ã€ã«ããã£ãŠããååé ã§äžŠã¹æ¿ãããšãã«ãæå³ã®ãããŸãšãŸãããšã«äžŠãã§ãããã
ãããPythonã§å®çŸããã®ã¯ããã»ã©é£ããããšã§ã¯ãªããåºæ¬çãªããæ¹ãšããŠã¯ãä»»æã®ãã£ã¬ã¯ããªããã¹ã«å¯ŸããŠãglobã§å¯Ÿè±¡ãã¡ã€ã«ãåæããŠããã®åãã¡ã€ã«ã®äžã€ãã€ãé£çªãã¡ã€ã«åã«ãªããŒã ããã°è¯ãã
é£çªãªããŒã ã®åºæ¬ããã°ã©ã
æåã«ãPythonã§åºæ¬çãªé£çªãªããŒã ã®æ¹æ³ã確èªããŠã¿ããã倧éã®JPEGç»åãã¡ã€ã«ã«å¯ŸããŠã001.jpg, 002.jpg, 003.jpg ... ãšé£çªã«æ¹åããããã°ã©ã ã以äžã«ç€ºããïŒãªãããã®ããã°ã©ã ã¯ããªããŒã ã®ä»çµã¿ãåããããããªãããã«ãããšåé·ã«èšè¿°ããŠãããïŒ
# é£çªãªããŒã
import glob, os # --- (*1)
# ãã¡ã€ã«åæ --- (*2)
files = glob.glob("*.jpg")
# ç¹°ãè¿ããªããŒã --- (*3)
i = 1
for old_name in files:
# æ°å€ãäžæ¡(001)圢åŒã«ãããã --- (*4)
zero_i = "{0:03d}".format(i)
# ãã¡ã€ã«åãäœã
new_name = zero_i + ".jpg"
# æ¹åãã --- (*5)
os.rename(old_name, new_name)
# ç¶æ³ãå ±å
print(old_name + "â" + new_name)
# é£çªã®ããæ°å€ãå ç® --- (*6)
i += 1
äžèšã®ããã°ã©ã ããrename.pyããšããååã§ä¿åããJPEGãã¡ã€ã«(æ¡åŒµåã".jpg"ã®ãã®)ããããããããã©ã«ãã«ã³ããŒãããã
ããã°ã©ã ãå®è¡ããã«ã¯ã以äžã®ããã«èšè¿°ãããmacOSãLinuxã®å Žåã以äžã®pythonã³ãã³ããpython3ã³ãã³ãã«çœ®ãæããŠå®è¡ãããã
python rename.py
å®è¡ãããšã次ã®ç»é¢ã®ããã«ããã¡ã€ã«åã«å¯ŸããŠãæ°åã®é£çªãæ¯ãããã
ããã§ã¯ãããã°ã©ã ã確èªããŠã¿ããã(ïŒ1)ã®éšåã§ã¯ãããã°ã©ã äžã§å¿ èŠãšãªãã©ã€ãã©ãªã®åã蟌ã¿ãè¡ããglobã¯ãã¡ã€ã«äžèЧãåæãããããosã¯ãã®åã®éããOSã®åçš®æ©èœãå©çšããããã®ãã®ã§ãä»åã¯ãã¡ã€ã«åã倿Žããããã«å©çšããã(ïŒ2)ã®éšåã¯ãã«ã¬ã³ããã£ã¬ã¯ããªã«ãããæ¡åŒµåã".jpg"ã®ãã¡ã€ã«äžèЧãåæããããããŠã(ïŒ3)ã®éšåã§ã¯ãåæãããã¡ã€ã«äžèЧãäžã€ãã€ç¹°ãè¿ãåŠçããã(ïŒ4)ã®éšåã§ã¯ãæ°å€ããŒãã§åããŠã001ã002ã003...ã®ãããªåœ¢åŒã«ããŠãæ°ãããã¡ã€ã«åãæ±ºããããã®ããã«ãformatã¡ãœããã䜿ããformatã䜿ããšãæååäžã«æ°å€ãåã蟌ãã ããæ°å€ã®åœ¢åŒãæå®ã§ããã
ãããŠã(ïŒ5)ã®éšåã§ã¯ããos.rename(æ§ãã¡ã€ã«å, æ°ãã¡ã€ã«å)ãã®æžåŒã§å®éã«ãã¡ã€ã«åã倿ŽãããæåŸã«ã(ïŒ6)ã®éšåã§ã¯ãæ°å€ãé£çªã«ããããã«ã倿°iã®å€ãäžã€ãã€å ç®ããã
æå³ãä»ããŠé£çªãªããŒã ããã
äžèšã®ããã°ã©ã ã®æµãã確èªã§ããããããå°ããPythonãããããã°ã©ã ãæžãæããŠã¿ãããããã°ã©ã ã®åäœã¯å šãåãã ãPythonã®æ©èœã䜿ããšããšãŠãå®çµã«ããã°ã©ã ãèšè¿°ã§ããã
import glob, os
files = glob.glob("*.jpg")
for i, old_name in enumerate(files): # --- (*1)
# ãã¡ã€ã«åãæ±ºå®ãã --- (*2)
new_name = "{0:03d}.jpg".format(i + 1)
# æ¹åãã
os.rename(old_name, new_name)
# ç¶æ³ãå ±å
print(old_name + "â" + new_name)
ååã®ããã°ã©ã ãšéãã®ã¯ã(ïŒ1)ã®éšåã§ãenumerate()ã䜿ã£ãŠããããšã ããã®ããã«èšè¿°ãããšãèªåã§ç¹°ãè¿ãåæ°(å€ã¯0ããå§ãŸã)ãåŸãããããŸãã(ïŒ2)ã®éšåã§ã¯ããã¡ã€ã«åã®æžåŒããã®ãŸãŸformat()ã®æžåŒã«æžã蟌ãã§ããã
äŸãã°ããããã©ã«ãã®äžã«ãæžè°·ã®ã«ãã§ã§æ®åœ±ãã倧éã®ç»åãããããã®ãã¡ã€ã«ã«é£çªãä»ããããšããããã®å Žåãäžèšã®(ïŒ2)ã®éšåã以äžã®ããã«æžãæãããšããæžè°·ã¹ã€ãŒã-(é£çª).jpgãã®åœ¢åŒã«é£çªãªããŒã ã§ããã
# ãã¡ã€ã«åãæ±ºå®ãã --- (*2)
new_name = "æžè°·ã¹ã€ãŒã-{0:03d}.jpg".format(i + 1)
æžãæããããã°ã©ã ããrename2.pyããšããååã§ä¿åãããã以äžã®ããã«ããŠããã°ã©ã ãå®è¡ããããåæ§ã«ãmacOSãLinuxã§ã¯ãpythonã®éšåãpython3ã«æžãæãããã
python rename2.py
å®è¡ãããšã以äžã®ããã«ãªãã
ãŸãšã
以äžããããŸã§é£çªãªããŒã ãè¡ãPytyonã®ããã°ã©ã ã玹ä»ãããPythonã§äžæ¬ãã¡ã€ã«åŠçãè¡ãåºæ¬çãªæ¹æ³ãçè§£ã§ããããšãšæããããããä»å玹ä»ããåºæ¬çãªé£çªãªããŒã ãè¡ãã ããªãã°ãããããèªäœã®ããã°ã©ã ãäœããŸã§ããªããæ¢åã®ããŒã«ããããããã§ã次åããã¡ã€ã«ã®äœææ¥æãå©çšãããããã¡ã€ã«ã®å 容ã確èªããŠãªããŒã ãããªãªãžãã«ãªããŒã«ãäœã£ãŠã¿ããããæ¥œãã¿ã«ã
èªç±åããã°ã©ããŒããããã¯ãã©ã«ãŠãããã°ã©ãã³ã°ã®æ¥œãããäŒããæŽ»åãããŠããã代衚äœã«ãæ¥æ¬èªããã°ã©ãã³ã°èšèªããªã§ããã ãããã¹ã鳿¥œããµã¯ã©ããªã©ã2001幎ãªã³ã©ã€ã³ãœãã倧è³å ¥è³ã2004幎床æªèžãŠãŒã¹ ã¹ãŒããŒã¯ãªãšãŒã¿èªå®ã2010幎 OSSè²¢ç®è ç« åè³ãæè¡æžãå€ãå·çããŠããã


