zoukankan      html  css  js  c++  java
  • python基础--压缩文件

    1)怎么压缩备份多个文件

    使用zipfile
    创建压缩文件
    查看信息
    解压缩
    
    # 创建
        import zipfile
        # os.chdir('test')
        my_zip = zipfile.ZipFile('xxx.zip', 'w') # 创建对象,写入文件
        # my_zip.write?
        my_zip.write('1.pdf', compress_type=zipfile.ZIP_DEFLATED)
        my_zip.write('1.doc', compress_type=zipfile.ZIP_DEFLATED)
        my_zip.close() # 关闭文件
    
    # 查看
        xxx = zipfile.ZipFile('xxx.zip')
        xxx.namelist()
    
    # 解压缩
        xxx = zipfile.ZipFile('xxx.zip')
        xxx.extractall('..') # 参数可选,当前目录,或者指定
        xxx.close()
    

    2) 代码备份机

    打包压缩
    自动命名
    打包前进行文件筛选,只备份特定文件
    (定时
    
    # 打包
    import zipfile
    import os
    def zip_all(from_dir, target_name):
    """把目录中每个文件写入zip文件"""
        my_zip = zipfile.ZipFile(target_name, 'w') # 创建对象,写入文件
        # my_zip.write
        for root, dirs, files in os.walk(from_dir):
            for name in files:
                filename = os.path.join(root, name) # 根目录下的文件名
                print(filename)
                my_zip.write(filename, compress_type=zipfile.ZIP_DEFLATED)
                my_zip.close() # 关闭文件, 注意在最后所有文件添加完毕再关
    
    # 自动命名, 以递增为例
    def auto_name(source_name):
        new_name = '1.zip'
        # 判断文件是否存在,单纯if只是判断是否为空
        # 还需要进一步判断
        if source_name: # a-1.zip, a-2.zip, a-3.zip...a-11.zip
        # 方法1.split拆分
            new_name = source_name.split('-')[0] + '-' 
            + str(int(source_name.split('-')[1].split('.')[0])+1) 
            + '.zip'
            # 方法2,正则
        return new_name
    
    # 文件筛选
    def zip_all_by_name(from_dir, target_name, keywords):
        pass
    
    # 测试
    base_dir = r'C:UserssothiDesktoppy20182-auto	est'
    target = os.path.join(base_dir, auto_name('a-6.zip'))
  • 相关阅读:
    微软一站式示例代码库 11月小结
    Linux服务器使用SSH的命令 [转]
    简明 Vim 练级攻略 [转]
    如何在Windows下使用LAPACK和ARPACK [转]
    使用setuptools自动安装python模块 [转]
    VS2010下GSL的配置 [转]
    poj3255 Roadblocks ***
    协方差矩阵的详细说明 [转]
    VC环境下LIB引用问题(LNK1104) [转]
    Dreamweaver CS5: "Configuration error"
  • 原文地址:https://www.cnblogs.com/lixiang1013/p/9216296.html
Copyright © 2011-2022 走看看