天天看點

批量修改檔案名和字尾名的python設計

閑着無事,用python寫了下關于批量修改檔案名的小腳本,相信很多人都有這樣的情況。

腳本分為5種情況,模式及具體操作由原檔案配置,可以通過修改檔案中的變量實作自己的需求。

将檔案拷貝到目的檔案夾下運作即可,采用python 2.7運作。

#Version 1.0
#copyright sundd, [email protected]
#This script is used to change file name automatically once
#operation 0 : add some prefix, 1 : delete part of the file name begins
#2 : change file extension 3 : add some suffix 4 : delete part of the file name end

import os

path=os.getcwd()
init_old=os.listdir(path)
init_old.remove('tmp.py')

operation=4 #your operation
lendel=4 #number of string to delete
pres='pre_'
extension='.py'
sufix='suff'
init_new=[]

if operation==0:
    raw_input("Add %s to file name in fornt" % pres)
    for a in range(len(init_old)):
        init_new.append(pres+init_old[a])
        print init_new[a]
        os.rename(init_old[a], init_new[a])
elif operation==1:
    raw_input("Delete %d char of file name in fornt" % lendel)
    for a in range(len(init_old)):
        init_new.append(init_old[a][lendel:])
        print init_new[a]
        os.rename(init_old[a], init_new[a])
elif operation==2:
    raw_input("Change file extension to %s" % extension)
    for a in range(len(init_old)):
        b=init_old[a].find('.')
        init_new.append(init_old[a][:b]+extension)
        print init_new[a]
        os.rename(init_old[a], init_new[a])
elif operation==3:
    raw_input("Add %s to file name in end" % sufix)
    for a in range(len(init_old)):
        b=init_old[a].find('.')
        init_new.append(init_old[a][:b]+sufix+init_old[a][b:])
        print init_new[a]
        os.rename(init_old[a], init_new[a])
elif operation==4:
    raw_input("Delete %d char of file name in end" % lendel)
    for a in range(len(init_old)):
        b=init_old[a].find('.')
        init_new.append(init_old[a][:(b-lendel)]+init_old[a][b:])
        print init_new[a]
        os.rename(init_old[a], init_new[a])

print init_new