shutil

  • 必要的导入
>>> import shutil

1. shutil.copy()

  • 功能:复制文件

  • 格式:

shutil.copy(来源路径, 目标路径)

  • 返回值:目标路径
  • 注意:在拷贝的同时,可以给文件重命名
>>> rst = shutil.copy(r"d:\tmp\text.txt", r"d:\tmp\test.txt")
>>> rst
'd:\\tmp\\test.txt'

2. shutil.copy2()

  • 功能:复制文件,保留元数据(文件信息,如创建时间、最近保存时间等)

  • 格式:

shutil.copy2(来源路径, 目标路径)

  • 返回值:目标路径

  • 注意:copycopy2 的唯一区别在于 copy2 复制文件时尽量保留元数据

>>> rst = shutil.copy2(r"d:\tmp\text.txt", r"d:\tmp\text.py")
>>> rst
'd:\\tmp\\text.py'

3. shutil.copyfile()

  • 功能:将一个文件中的内容复制到另外一个文件中

  • 格式:

shutil.copyfile('源路径', '目标路径')

  • 返回值:目标路径
  • 注意:同名文件会被覆盖
>>> rst = shutil.copyfile(r"d:\tmp\text.py", r"d:\tmp\Python3\text.py")
>>> rst
'd:\\tmp\\Python3\\text.py'

4. shutil.move()

  • 功能:移动 文件/文件夹

  • 格式:

shutil.move(源路径, 目标路径)

  • 返回值:目标路径
>>> rst1 = shutil.move(r"d:\tmp\text.txt", r"d:\tmp\Python3")
>>> rst1
'd:\\tmp\\Python3\\text.txt'
>>>
>>> rst2 = shutil.move(r"d:\tmp\Python2", r"d:\tmp\Python")
>>> rst2
'd:\\tmp\\Python\\Python2'

5. 归档

  • 归档:把多个文件或者文件夹合并到一个文件当中

5.1 shutil.make_archive()

  • 功能:归档操作

  • 格式:

shutil.make_archive('归档之后的目录和文件名', '后缀', '需要归档的文件夹')

  • 返回值:归档之后的地址
>>> rst = shutil.make_archive(r"d:\tmp\twofiles", "zip", r"d:\tmp\Python3")
>>> rst
'd:\\tmp\\twofiles.zip'

5.2 shutil.unpack_archive()

  • 解包操作

  • 格式:

shutil.unpack_archive('归档文件地址', '解包之后的地址')

  • 返回值:无
>>> rst = shutil.unpack_archive(r"d:\tmp\twofiles.zip", r"d:\tmp\Python")
>>> rst
>>>

zipfile

  • 必要的导入
>>> import zipfile

6. 压缩

  • 压缩:用算法把多个文件或者文件夹无损或者有损合并到一个文件当中

6.1 zipfile.ZipFile()

  • 格式:

zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])

  • 创建一个 ZipFile 对象,表示一个 zip 文件
  • 参数 file 表示文件的路径或类文件对象 file-like object
  • 参数 mode 指示打开 zip 文件的模式
    • 默认值为 ’r’,表示读已经存在的 zip 文件
    • 也可以为 ’w’ 或 ’a’
      • ’w’ 表示新建一个 zip 文档或覆盖一个已经存在的 zip 文档
      • ’a’ 表示将数据附加到一个现存的 zip 文档中
  • 参数 compression 表示在写 zip 文档时使用的压缩方法,它的值可以是
    • zipfile. ZIP_STORED
    • zipfile. ZIP_DEFLATED
  • 如果要操作的 zip 文件大小超过 2G,应该将 allowZip64 设置为 True
>>> zf = zipfile.ZipFile(r"d:\tmp\twofiles.zip")

6.2 ZipFile.getinfo()

  • 功能:获取 zip 文档内指定文件的信息
  • 格式:

ZipFile.getinfo(name)

  • 返回值:一个 zipfile.ZipInfo 对象,它包括文件的详细信息
>>> rst = zf.getinfo("text.txt")
>>> rst
<ZipInfo filename='text.txt' compress_type=deflate filemode='-rw-rw-rw-' file_size=0 compress_size=2>

6.3 ZipFile.namelist()

  • 功能:获取 zip 文档内所有文件的名称列表
>>> zf.namelist()
['text.py', 'text.txt']

6.4 ZipFile.extractall()

  • 格式:

ZipFile.extractall([path[, members[, pwd]]])

  • 解压 zip 文档中的所有文件到当前目录
  • 参数 members 的默认值为 zip 文档内的所有文件名称列表
    • 也可以自己设置,选择要解压的文件名称
>>> rst = zf.extractall(r"d:\tmp\twofiles")  # twofiles 可以改为任意合法的名字
>>> rst
>>>
  • 结果:

    • d 盘下,tmp 文件夹中,多出了一个名为 twofiles 的文件夹
    • twofiles.zip 中的文件已解压至 twofiles 文件夹

最新文章

  1. Entity Framework中使用IEnumerable&lt;T&gt;、IQueryable&lt;T&gt;及IList&lt;T&gt;的区别
  2. 函数----Beginning Visual C#
  3. return false
  4. Servlet简介与Servlet和HttpServlet运行的流程
  5. 使用clusterprofile做聚类分析
  6. ng-model 指令
  7. Android开发之MediaPlayer类
  8. bzoj1937
  9. ZOJ 3490 String Successor
  10. 七行jquery代码实现图片渐变切换【兼容ie6+、 Chrome、 Firefox】
  11. Array类型(一)
  12. 版本控制之二:SVN的初步使用(转)
  13. epoll代码示例
  14. SpringBoot系列: 极简Demo程序和Tomcat war包部署
  15. wireshark抓包分析工具的使用
  16. C#Winform的DEV下拉下拉控件介绍
  17. 【HTML笔记】--- 内联元素间距问题及解决方案
  18. 信号处理——EMD、VMD的一点小思考
  19. Ant打包可运行的Jar包(加入第三方jar包)
  20. struts开发&amp;lt;struts中的參数传递.三&amp;gt;

热门文章

  1. python 文件定位
  2. Log4net日志文件自动按月份存放和日志独占问题的解决
  3. sqli-labs(41) and 两php函数的讲解
  4. Reduce pandas memory size
  5. 分布式-信息方式-ActiveMQ静态网络连接的容错
  6. 套接字之 getsockname &amp;&amp; getpeername
  7. Java——利用反射机制将表单数据自动填充到JavaBean中
  8. vue的周期函数
  9. vue动态构造下拉
  10. Servlet请求参数的方式