#用函数实现一个文件的拷贝功能,注意大文件问题

import os

# 拷贝文件
# C:/aaa/1.py      C:/abc/def
def copy(src, dst):
    # 判断是否是同一文件
    if os.path.abspath(src) == os.path.abspath(dst):
        print('地址相同,无法拷贝')
        return
    # 判断源文件是否是文件
    if not os.path.isfile(src):
        print('大哥,不是文件怎么拷贝')
        return
    # 判断目标地址是否是目录
    if os.path.isdir(dst):
        # 提取源文件名字
        src_name = os.path.basename(src)
        # 拼接目标文件名
        dst = os.path.join(dst, src_name)

    # 打开文件
    src_fp = open(src, 'r')
    dst_fp = open(dst, 'w')
    # 循环拷贝
    while True:
        # 一次读取指定长度的内容
        content = src_fp.read(1024)
        # 判断是否为空
        if len(content) == 0:
            break
        # 写入目标文件
        dst_fp.write(content)
    # 关闭文件
    src_fp.close()
    dst_fp.close()

# 拷贝时指定文件名
# copy('00-test.txt', '00-test2.txt')
# 拷贝时不指定文件名
# copy('00-test.txt', 'abc')

猜你喜欢

转载自blog.csdn.net/LoveL_T/article/details/81583411