Python中的高级文件操作模块shutil

高级文件操作模块shutil

常用方法
copy拷贝方法
  • copyfileobj(fsrc,fdst[,length]) #拷贝文件对象,将fsrc文件对象内容拷贝到fdst文件对象中。复制文件内容,不含元数据
    • fsrc:源文件对象,是open打开的文件对象
    • fdst: 目标文件对象,是open打开的文件对象
    • length:缓冲区buffer的大小,可选参数,默认是16*1024
    • 注意: 如果源文件是文本模式打开,目标文件一定也要是文本模式写入
    • python对应原码如下:
    def copyfileobj(fsrc, fdst, length=16*1024):
        """copy data from file-like object fsrc to file-like object fdst"""
        while 1:
            buf = fsrc.read(length)
            if not buf:
                break
            fdst.write(buf)
    
  • coypfile(src,dst,*,follow_symlinks=True) #根据文件路径,拷贝文件。复制文件内容,不含元数据。本质上是用copyfileobj对象拷贝
    • src:源文件路径,可以是Path对象或者字符串文件路径对象
    • dst:目标文件路径,可以是Path对象或者字符串文件路径对象
    • follow_symlinks = True,是否跟进链接文件。
      • True:表示拷贝链接文件所指向的文件
      • False:表示拷贝链接文件本身
    • Python中部分源码如下:
    def copyfile(src, dst, *, follow_symlinks=True):
        ##部分代码以省略##
        if not follow_symlinks and os.path.islink(src):
            os.symlink(os.readlink(src), dst)
        else:
            with open(src, 'rb') as fsrc:
                with open(dst, 'wb') as f
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值