1. 程式人生 > >兩個複製和重新命名的case,方式一是數字字尾,方式二是固定字尾

兩個複製和重新命名的case,方式一是數字字尾,方式二是固定字尾

C:\Users\fengli.zuo\New folder CopyAndChangeCasesNameWithnum.py 和CopyAndChangeCasesName.py 字尾為CSIRS 不完善的地方:一些保護措施不完善,溢位,超值,退出程式,下一步,修改檔案內容 ------CopyAndChangeCasesNameWithnum.py-------

-- coding: gbk --

#拷貝檔案並且按照規則重新命名 #命名規則:給定字首或者字尾 新增編號 import os import time import shutil import sys #sourceDir=“C:\Users\zxl\Desktop\圖片”

def createTargetDir(sourceDir): print("------------給定的原始檔夾不存在,則新建立--------------") if not os.path.isdir(sourceDir): print(“給定的原始檔夾不存在,請檢查”); return;

targetDir=sourceDir+'\\test2'

if not os.path.isdir(targetDir):
    os.mkdir(targetDir)
    print('建立目標資料夾為:%s'% targetDir)
else:
    print('目標資料夾:%s  已存在,需要刪除!'% targetDir)
    shutil.rmtree(targetDir,True)
    os.mkdir(targetDir)
return targetDir

def copyAndRename(sourceDir,targetDir): print(’-----------批量複製並且重新命名start---------------’) fileList=os.listdir(sourceDir) print(‘fileList:%s’% fileList) print(‘sourceDir:%s—>targetDir:%s’%(sourceDir,targetDir)) fobj=open(targetDir+’\test2.txt’,‘w’) i=1

for f in fileList:   
    if os.path.isdir(os.path.join(sourceDir,f)):#join?什麼功能
        continue
    index=f.rfind('.')
    #print('index:%s'% index)
    fileName=f[:index]#檔名
    fileExt=f[index:]#副檔名
    fileNameWithExt=os.path.basename(f)#檔案全名
    sf=os.path.join(sourceDir,f)

    if i<10:
     suffix='00'+('%s' %i)
    elif i>9 and i<100:
     suffix='0'+('%s' %i)
    else:
     suffix=('%s' %i)

    newFileName=('%s_%s%s' % ('tcnr_003_006',suffix,fileExt))
    tf=os.path.join(targetDir,newFileName)
    print('%s -->>%s' % (fileNameWithExt,newFileName))
    fobj.writelines('%s -->>%s\n' % (fileNameWithExt,newFileName))
    if(os.path.isfile(sf)):
       shutil.copyfile(sf, tf)
    i+=1
print('-----------批量複製並且重新命名end---------------')

def testDomain(): print(’-----------------------test----------------------’) global rule rule=200 print(rule)

if name == ‘main’: #程式執行入口 print(’-----------------------zxl----------------------’) while(True): sd=input(‘Enter sourceDir with ‘’,eg1:r"C:/Users/fengli.zuo/New folder":’) print(‘給定的原始檔夾為:%s’ % sd) td=createTargetDir(sd) copyAndRename(sd,td) input(‘Enter the any press to exit’ ) break #--------------------- #作者:皓月行空 #來源:CSDN #原文:https://blog.csdn.net/zhaoxinglin123/article/details/72846827 #版權宣告:本文為博主原創文章,轉載請附上博文連結!

------CopyAndChangeCasesName.py--------

-- coding: gbk --

#拷貝檔案並且按照規則重新命名 #命名規則:給定字首或者字尾 新增編號 import os import time import shutil import sys #sourceDir=“C:\Users\zxl\Desktop\圖片”

def createTargetDir(sourceDir): print("------------給定的原始檔夾不存在,則新建立--------------") if not os.path.isdir(sourceDir): print(“給定的原始檔夾不存在,請檢查”); return;

targetDir=sourceDir+'\\test1'

if not os.path.isdir(targetDir):
    os.mkdir(targetDir)
    print('建立目標資料夾為:%s'% targetDir)
else:
    print('目標資料夾:%s  已存在,需要刪除!'% targetDir)
    shutil.rmtree(targetDir,True)
    os.mkdir(targetDir)
return targetDir

def copyAndRename(sourceDir,targetDir): print(’-----------批量複製並且重新命名start---------------’) fileList=os.listdir(sourceDir) print(‘fileList:%s’% fileList) print(‘sourceDir:%s—>targetDir:%s’%(sourceDir,targetDir)) fobj=open(targetDir+’\test1.txt’,‘w’)

for f in fileList:   
    if os.path.isdir(os.path.join(sourceDir,f)):#join?什麼功能
        continue
    index=f.rfind('.')
    #print('index:%s'% index)
    fileName=f[:index]#檔名
    fileExt=f[index:]#副檔名
    fileNameWithExt=os.path.basename(f)#檔案全名
    sf=os.path.join(sourceDir,f)

    suffix='CSIRS'
    newFileName=('%s_%s%s' % (fileName,suffix,fileExt))
    tf=os.path.join(targetDir,newFileName)
    print('%s -->>%s' % (fileNameWithExt,newFileName))
    fobj.writelines('%s -->>%s\n' % (fileNameWithExt,newFileName))
    if(os.path.isfile(sf)):
       shutil.copyfile(sf, tf)
print('-----------批量複製並且重新命名end---------------')

def testDomain(): print(’-----------------------test----------------------’) global rule rule=200 print(rule)

if name == ‘main’: #程式執行入口 print(’-----------------------zxl----------------------’) while(True): sd=input(‘Enter sourceDir with ‘’,eg1:r"C:/Users/fengli.zuo/New folder":’) print(‘給定的原始檔夾為:%s’ % sd) td=createTargetDir(sd) copyAndRename(sd,td) input(‘Enter the any press to exit’ ) break #--------------------- #作者:皓月行空 #來源:CSDN #原文:https://blog.csdn.net/zhaoxinglin123/article/details/72846827 #版權宣告:本文為博主原創文章,轉載請附上博文連結!

From: Fengli Zuo (左鳳麗) Sent: Wednesday, October 24, 2018 9:45 AM To: Fengli Zuo (左鳳麗) Subject: RE: 使用python, 複製問題

能夠拷貝檔案,並重命名(加錢字尾的方式,):下一步,修改名字eg003_066_xxx 替換成tcnr003_066_7xx;修改檔案內容

-- coding: gbk --

#拷貝檔案並且按照規則重新命名 #命名規則:給定字首或者字尾 新增編號 import os import time import shutil import sys #sourceDir=“C:\Users\zxl\Desktop\圖片”

def createTargetDir(sourceDir): print("------------給定的原始檔夾不存在,則新建立--------------") if not os.path.isdir(sourceDir): print(“給定的原始檔夾不存在,請檢查”); return;

targetDir=sourceDir+'\\test'

if not os.path.isdir(targetDir):
    os.mkdir(targetDir)
    print('建立目標資料夾為:%s'% targetDir)
else:
    print('目標資料夾:%s  已存在,需要刪除!'% targetDir)
    shutil.rmtree(targetDir,True)
    os.mkdir(targetDir)
return targetDir

def copyAndRename(sourceDir,targetDir,rule): print(’-----------批量複製並且重新命名start---------------’) fileList=os.listdir(sourceDir) print(‘fileList:%s’% fileList) print(‘sourceDir:%s—>targetDir:%s’%(sourceDir,targetDir)) fobj=open(targetDir+’\test.txt’,‘w’)

ruleIndexPrefix=rule.rfind('prefix:')#輸入的rule,eg1 prefix:2018
ruleIndexSuffix=rule.rfind('suffix:')
pre=rule[ruleIndexPrefix+7:rule.rfind('suffix:')-1]#從:到結尾name = str[str.rfind("/")+1:str.rfind(".")] 
suf=rule[ruleIndexSuffix+7:]

for f in fileList:   
    if os.path.isdir(os.path.join(sourceDir,f)):#join?什麼功能
        continue
    index=f.rfind('.')
    #print('index:%s'% index)
    fileName=f[:index]#檔名
    fileExt=f[index:]#副檔名
    fileNameWithExt=os.path.basename(f)#檔案全名
    sf=os.path.join(sourceDir,f)
    newFileName=('%s%s' % (fileName,fileExt))
    if rule.rfind('pre')!=-1 & rule.rfind('suf')!=-1:
        print('pre & suf')
        newFileName=('%s-%s-%s%s'%(pre,fileName,suf,fileExt))
    elif rule.rfind('pre')!=-1 & rule.rfind('suf')==-1:
        print('pre')
        newFileName=('%s-%s'%(pre,newFileName))
    elif rule.rfind('pre')==-1 & rule.rfind('suf')!=-1:
        print('suf')
        newFileName=('%s-%s%s'%(fileName,suf,fileExt))
    tf=os.path.join(targetDir,newFileName)
    print('%s -->>%s' % (fileNameWithExt,newFileName))
    fobj.writelines('%s -->>%s\n' % (fileNameWithExt,newFileName))
    if(os.path.isfile(sf)):
       shutil.copyfile(sf, tf)
print('-----------批量複製並且重新命名end---------------')

def testDomain(): print(’-----------------------test----------------------’) global rule rule=200 print(rule)

if name == ‘main’: #程式執行入口 print(’-----------------------zxl----------------------’) while(True): sd=input(‘Enter sourceDir with ‘’,eg1:r"C:/Users/fengli.zuo/New folder":’) print(‘給定的原始檔夾為:%s’ % sd) rule=input("'Enter nameRule,eg1:‘prefix:ls’ eg2:‘suffix:ls’,eg3:‘prefix:new suffix:2018’") td=createTargetDir(sd) copyAndRename(sd,td,rule) input(‘Enter the any press to exit’ ) break #--------------------- #作者:皓月行空 #來源:CSDN #原文:https://blog.csdn.net/zhaoxinglin123/article/details/72846827 #版權宣告:本文為博主原創文章,轉載請附上博文連結!