python的shutil模块

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_36670529/article/details/101206491

shutil:高级的文件、文件夹、压缩包处理模块

shutil.copyfileobj(fsrc, fdst[, length])(copyfileobj方法只会拷贝文件内容)

将文件内容拷贝到另一个文件中

import shutil

shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'))

shutil.copyfile(src, dst)  (copyfile只拷贝文件内容)

拷贝文件

shutil.copyfile('f1.log', 'f2.log')

shutil.copy(src, dst) 拷贝文件和权限

shutil.copy('f1.log', 'f2.log')

shutil.copy2(src, dst)

拷贝文件和状态信息

shutil.copy2('f1.log', 'f2.log)

shutil.copymode(src, dst)  (前提是dst文件存在,不然报错) 仅拷贝权限。内容、组、用户均不变

shutil.copymode('f1.log', 'f2.log')

shutil.copystat(src, dst) 仅拷贝状态的信息,即文件属性,包括:mode bits, atime, mtime, flags

shutil.copystat('f1.log', 'f2.log')

shutil.ignore_patterns(*patterns)  (忽略哪个文件,有选择性的拷贝)

shutil.copytree(src, dst, symlinks=False, ignore=None) 递归的去拷贝文件夹

shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))
shutil.copytree('f1', 'f2', symlinks=True, ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))

shutil.rmtree(path[, ignore_errors[, onerror]]) 递归的去删除文件

shutil.rmtree('folder1')

shutil.move(src, dst) 递归的去移动文件,它类似mv命令,其实就是重命名。

shutil.move('folder1', 'folder3')

shutil.make_archive(base_name, format,...)

创建压缩包并返回文件路径,例如:zip、tar

创建压缩包并返回文件路径,例如:zip、tar

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径, 如:www =>保存至当前路径 如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.Logger对象 #将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录 import shutil ret = shutil.make_archive("wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test') #将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录 import shutil ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test') shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的,详细:
import zipfile

# 压缩
z = zipfile.ZipFile('laxi.zip', 'w')
z.write('a.log')
z.write('data.data')
z.close()

# 解压
z = zipfile.ZipFile('laxi.zip', 'r')
z.extractall()
z.close()
import tarfile

# 压缩
tar = tarfile.open('your.tar','w')
tar.add('/Users/wupeiqi/PycharmProjects/bbs2.log', arcname='bbs2.log')
tar.add('/Users/wupeiqi/PycharmProjects/cmdb.log', arcname='cmdb.log')
tar.close()

# 解压
tar = tarfile.open('your.tar','r')
tar.extractall()  # 可设置解压地址
tar.close()

承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系QQ号757160542,非诚勿扰。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux文件系统详解

    Linux上的文件系统一般来说就是EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立的基础——硬盘开始,一步...

    于小勇
  • 文件和目录操作(一)、shutil模块

    os模块不仅提供了新建文件、删除文件、查看文件属性的操作功能,还提供了对文件路径的操作功能。但是,对于移动、复制、打包、压缩、解压文件及文件夹等操作,os模块没...

    于小勇
  • Diverse Image-to-Image Translation via Disentangled Representations

    摘要:图像到图像的翻译主要学习两个视觉域之间的映射关系。主要有两个挑战:1)缺少对齐的成对的训练数据2)和对于一个输入图片的多种可能输出。这篇文章中,提出了基于...

    于小勇
  • python之shutil模块

    shutil.copyfileobj(fsrc, fdst[, length])(copyfileobj方法只会拷贝文件内容) 将文件内容拷贝到另一个文件中

    py3study
  • python模块之shutil

    shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中

    菲宇
  • Python 之 shutil模块

    copy2(src, dst):连同权限一起复制,相当于cp -p src dst

    py3study
  • shutil模块

    py3study
  • Python-shutil模块1.shutil 是高级的文件,文件夹,压缩包处理模块。2.使用

    1.shutil.copyfileobj(fsrc, fdst[, length])     将文件内容拷贝到另一个文件中

    Python攻城狮
  • Python标准库shutil模块使用方法解析

    砸漏
  • python3-sys&shutil模块实战解析

    1.sys模块 import sys print(sys.version) #获取python解析器版本信息 print(sys.argv) #获取程序本身路...

    用户1679793

扫码关注云+社区

领取腾讯云代金券