本文實(shí)例為大家分享了python文件和文件夾復(fù)制函數(shù),供大家參考,具體內(nèi)容如下
文件復(fù)制函數(shù)
代碼和注釋如下:
# 文件復(fù)制函數(shù)def copy_file(file1,file2): ''' 將文件一復(fù)制到文件二 :param file1: :param file2: :return: ''' # 首先打開(kāi)源文件file1和目標(biāo)文件file2 f1 = open(file1,'r') f2 = open(file2,'w') # 循環(huán)讀取寫入,實(shí)現(xiàn)文件的復(fù)制 content = f1.readline() while len(content)>0: f2.write(content) content = f1.readline() f1.close() f2.close()# 代碼測(cè)試,代碼調(diào)用copy_file('./a.txt','./b.txt') # 使用相對(duì)路徑
文件夾復(fù)制函數(shù)
代碼和注釋如下:
# 目錄(文件夾)復(fù)制函數(shù)'''首先需要引入 os 模塊'''import osdef copy_mulu(dir1,dir2): ''' 復(fù)制文件夾 :param dir1: :param dir2: :return: ''' # 獲取被復(fù)制文件夾中的所有文件信息 dlist = os.listdir(dir1) # 創(chuàng)建目標(biāo)文件夾(即為被復(fù)制之后的文件夾,文件夾不能自動(dòng)生成所以要手動(dòng)創(chuàng)建,文件可以自動(dòng)生成) os.mkdir(dir2) # 遍歷出dir1中的所有文件并且復(fù)制 for f in dlist: # 為遍歷出的文件添加目錄路徑(一個(gè)完整的文件=目錄的路徑+文件名) file1 = os.path.join(dir1,f) # 源文件 file2 = os.path.join(dir2, f) # 目標(biāo)文件 # 判斷file1是不是文件 if os.path.isfile(file1): # 調(diào)用上面寫好的文件復(fù)制函數(shù)進(jìn)行文件復(fù)制 copy_file(file1,file2) # 判斷file1是不是文件夾 if os.path.isdir(file1): # 如果是文件夾則遞歸調(diào)用(自己調(diào)用自己,繼續(xù)循環(huán)判斷) copy_mulu(file1,file2)# 代碼測(cè)試,代碼調(diào)用copy_mulu('文件夾','復(fù)制后文件夾')
合并后的代碼如下:
# -*- coding: utf-8 -*-# @File : 文件和文件夾復(fù)制函數(shù).py# @Author : zh# @Date : 2020/2/5# @Software: PyCharm# 文件復(fù)制函數(shù)def copy_file(file1,file2): ''' 將文件一復(fù)制到文件二 :param file1: :param file2: :return: ''' # 首先打開(kāi)源文件file1和目標(biāo)文件file2 f1 = open(file1,'r') f2 = open(file2,'w') # 循環(huán)讀取寫入,實(shí)現(xiàn)文件的復(fù)制 content = f1.readline() while len(content)>0: f2.write(content) content = f1.readline() f1.close() f2.close()# 代碼測(cè)試,代碼調(diào)用copy_file('./a.txt','./b.txt') # 使用相對(duì)路徑# 目錄(文件夾)復(fù)制函數(shù)'''首先需要引入 os 模塊'''import osdef copy_mulu(dir1,dir2): ''' 復(fù)制文件夾 :param dir1: :param dir2: :return: ''' # 獲取被復(fù)制文件夾中的所有文件信息 dlist = os.listdir(dir1) # 創(chuàng)建目標(biāo)文件夾(即為被復(fù)制之后的文件夾,文件夾不能自動(dòng)生成所以要手動(dòng)創(chuàng)建,文件可以自動(dòng)生成) os.mkdir(dir2) # 遍歷出dir1中的所有文件并且復(fù)制 for f in dlist: # 為遍歷出的文件添加目錄路徑(一個(gè)完整的文件=目錄的路徑+文件名) file1 = os.path.join(dir1,f) # 源文件 file2 = os.path.join(dir2, f) # 目標(biāo)文件 # 判斷file1是不是文件 if os.path.isfile(file1): # 調(diào)用上面寫好的文件復(fù)制函數(shù)進(jìn)行文件復(fù)制 copy_file(file1,file2) # 判斷file1是不是文件夾 if os.path.isdir(file1): # 如果是文件夾則遞歸調(diào)用(自己調(diào)用自己,繼續(xù)循環(huán)判斷) copy_mulu(file1,file2)# 代碼測(cè)試,代碼調(diào)用copy_mulu('文件夾','復(fù)制后文件夾')
新聞熱點(diǎn)
疑難解答
圖片精選