Python-移動文件夾內文件到指定文件夾,同名文件覆蓋


  

  在更新升級包的時候,文件夾內的so文件的合包邏輯是新版本覆蓋舊版本,代碼邏輯是先將最初的升級包內so文件復制到目標文件夾中,之后版本的升級包在復制之前先和目標文件夾內的文件比對,如果文件名一樣就刪除目標文件夾內對應文件,再將新版本的文件移入,具體解釋如下:

一、代碼

import os
import shutil

filePath = 'C:\\Users\\HU\\Desktop\\UFP'
aimPath = 'C:\\Users\\HU\\Desktop\\aimappcom'

def comp_del(com_filename,orgpath):    
    n = 0
    for fpath,fdir,ffile in os.walk(aimPath): 
        while n < len(ffile):
            if com_filename == ffile[n]:
                (aimPath + '\\' + ffile[n])
                print('update_file--------' + orgpath + '\\' + ffile[n] + '\n')
            n = n + 1
    
def mov_file(ndfile,edfile,fpos):
    shutil.move(ndfile + '\\' + fpos,edfile)


for i,j,k in os.walk(filePath):
    if "appcom" in i:
        filedir = eval(repr(i).replace('\\', '\\\\'))
        pos = 0
        while pos < len(k):
            comp_del(k[pos],filedir)
            mov_file(filedir,aimPath,k[pos])
            pos = pos + 1
            

 

二、解釋

1.os.walk函數

輪巡原文件夾,獲取目錄及文件名

2.eval(repr(i).replace('\\', '\\\\'))

因為python中‘\’為轉義符,所以要用‘\\\\’來表示雙斜杠

3.comp_del函數

復制之前先和目標文件夾內的文件比對:if com_filename == ffile[n]

如果文件名一樣就刪除:os.remove

4.mov_file函數

將新版本的文件移入:mov_file

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM