• 031 shutil 与 zipfile


    shutil

    >>> import shutil  # 下面的例子就不重复这个导入操作了
    >>> 
    

    shutil.copy()

    • 功能:复制文件
    • 格式:shutil.copy(来源路径, 目标路径)
    • 返回值:目标路径
    • 注意:在拷贝的同时,可以给文件重命名
    >>> rst = shutil.copy(r"d:	mp	ext.txt", r"d:	mp	est.txt")
    >>> rst
    'd:\tmp\test.txt'
    >>> 
    

    shutil.copy2()

    • 功能:复制文件,保留元数据(文件信息,如创建时间、最近保存时间等)
    • 格式:shutil.copy2(来源路径, 目标路径)
    • 返回值:目标路径
    • 注意:copycopy2 的唯一区别在于 copy2 复制文件时尽量保留元数据
    >>> rst = shutil.copy2(r"d:	mp	ext.txt", r"d:	mp	ext.py")
    >>> rst
    'd:\tmp\text.py'
    >>> 
    

    shutil.copyfile()

    • 功能:将一个文件中的内容复制到另外一个文件中
    • 格式:shutil.copyfile('源路径', '目标路径')
    • 返回值:目标路径
    • 注意:同名文件会被覆盖
    >>> rst = shutil.copyfile(r"d:	mp	ext.py", r"d:	mpPython3	ext.py")
    >>> rst
    'd:\tmp\Python3\text.py'
    >>> 
    

    shutil.move()

    • 功能:移动 文件文件夹
    • 格式:shutil.move(源路径, 目标路径)
    • 返回值:目标路径
    >>> rst1 = shutil.move(r"d:	mp	ext.txt", r"d:	mpPython3")
    >>> rst1
    'd:\tmp\Python3\text.txt'
    >>> 
    >>> rst2 = shutil.move(r"d:	mpPython2", r"d:	mpPython")
    >>> rst2
    'd:\tmp\Python\Python2'
    >>> 
    

    归档

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

    shutil.make_archive()

    • 功能:归档操作
    • 格式:shutil.make_archive('归档之后的目录和文件名', '后缀', '需要归档的文件夹')
    • 返回值:归档之后的地址
    >>> rst = shutil.make_archive(r"d:	mp	wofiles", "zip", r"d:	mpPython3")
    >>> rst
    'd:\tmp\twofiles.zip'
    >>> 
    

    shutil.unpack_archive()

    • 功能:解包操作
    • 格式:shutil.unpack_archive('归档文件地址', '解包之后的地址')
    • 返回值:无
    >>> rst = shutil.unpack_archive(r"d:	mp	wofiles.zip", r"d:	mpPython")
    >>> rst
    >>> 
    

    zipfile

    >>> import zipfile  # 下面的例子就不重复这个导入操作了
    >>> 
    

    压缩

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

    zipfile.ZipFile()

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

    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>
    >>> 
    

    ZipFile.namelist()

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

    ZipFile.extractall()

    • 功能:解压 zip 文档中的所有文件到当前目录
    • 格式:ZipFile.extractall([path[, members[, pwd]]])
    • members 的默认值为 zip 文档内的所有文件名称列表,可以自己设置,选择要解压的文件
    >>> rst = zf.extractall(r"d:	mp	wofiles")  # twofiles 可以改为任意合法的名字
    >>> rst
    >>> 
    
    • 结果
      • d 盘下,tmp 文件夹中,多出了一个名为 twofiles 的文件夹
      • twofiles.zip 中的文件已解压至 twofiles 文件夹
  • 相关阅读:
    S MVC 转发与重定向
    S MVC Controller方法返回值
    S MVC 表单提交
    numpy数据平滑
    Python入门
    Django
    python机器学习基础教程-监督学习
    drf-CBV
    numpy数组符号化与函数向量化
    numpy中多项式拟合与复数
  • 原文地址:https://www.cnblogs.com/yorkyu/p/12046239.html
Copyright © 2020-2023  润新知