复制文件
无非就是一个读取文件和写入文件的操作
def copy_file(src_path,target_path):
# 注意文件可能是视频,图片,所以用rb和wb操作较好
# 如果文件过大建议使用ab进行写入,一次读取1024个字节
fp1 = open(src_path, 'rb')
# fp2 = open(file_path2,'wb')
fp2 = open(target_path, 'ab')
while True:
content = fp1.read(1024)
if not content:
break
fp2.write(content)
# content = fp1.read()
# fp2.write(content)
复制目录
注意:使用自己的目录路径(这里我就直接使用上面的复制文件的函数了)
# 遍历sourcePath下的所有子目录和子文件
# 1, 如果是子文件,则复制文件
# 2, 如果是子目录,在目标目录创建相同的目录名称,递归调用
# 注意:子文件或子目录的绝对路径
import os
def copy_file(src_path,target_path):
# 注意文件可能是视频,图片,所以用rb和wb操作较好
# 如果文件过大建议使用ab进行写入,一次读取1024个字节
fp1 = open(src_path, 'rb')
# fp2 = open(file_path2,'wb')
fp2 = open(target_path, 'ab')
while True:
content = fp1.read(1024)
if not content:
break
fp2.write(content)
# content = fp1.read()
# fp2.write(content)
def copyPath(sourcePath, targetPath):
# 判断原目录是否存在
if not os.path.exists(sourcePath):
return "目录不存在"
# 判断目标目录是否存在,如果不存在则创建
if not os.path.exists(targetPath):
os.mkdir(targetPath)
list_dir = os.listdir(sourcePath)
for dir in list_dir:
file_path1 = os.path.join(sourcePath,dir)
file_path2 = os.path.join(targetPath,dir)
if os.path.isfile(file_path1):
copy_file(file_path1,file_path2)
else:
# 是文件夹就进行递归
copyPath(file_path1,file_path2)
if __name__ == "__main__":
# 将sourcePath目录的所有内容拷贝到targetPath目录下
sourcePath = r"E:\CloudMusic\2101\1Python基础\第03周\day13"
targetPath = r"E:\CloudMusic\2101\1Python基础\第03周\day13-1"
copyPath(sourcePath, targetPath)