兩個複製和重新命名的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 #版權宣告:本文為博主原創文章,轉載請附上博文連結!