Python 复制文件和目录

复制文件

无非就是一个读取文件和写入文件的操作

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)
QAQ
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值