解压zipfile & tarfile

   def __un_zip(self, file_path):
        """解压.zip格式文件到同名目录下,若解压之前就存在该目录说明已解压,跳过解压过程,返回该目录"""
        zip_file = zipfile.ZipFile(file_path)
        file_dir = file_path.split(".zip")[0]
        if os.path.isdir(file_dir):
            return file_dir
        else:
            os.mkdir(file_dir)
        for names in zip_file.namelist():
            zip_file.extract(names, file_dir)
        zip_file.close()
        return file_dir

    def __un_tar(self, file_path):
        """解压.tar.gz格式文件到同名目录下,若解压之前就存在该目录说明已解压,跳过解压过程,返回该目录"""
        tar = tarfile.open(file_path)
        names = tar.getnames()
        file_dir = file_path.split(".tar.gz")[0]
        if os.path.isdir(file_dir):
            return file_dir
        else:
            os.mkdir(file_dir)
        for name in names:
            tar.extract(name, file_dir)
        tar.close()
        return file_dir

原文地址:https://www.cnblogs.com/0bug/p/9235850.html

时间: 2024-10-28 15:27:50

解压zipfile & tarfile的相关文章

python学习笔记-Day7(configparser模块、shutil、压缩与解压模块、subprocess)

configparser模块 # configparser用于处理特定格式的文件,其本质上是利用open来操作文件 # 下边我们就创建这种特定格式配置文件,来操作以下这里模块方法 --------------test.conf---------------- [section1] # configparser 会认定以中括号括住的为一个节点(node) k1 = 111 # 节点下,每一行配置文件为键值对存在(也可以写成 k2:123) k2 = v2 k3 = 123 k4 = True k1

python tar.gz格式压缩、解压

压缩 代码 import tarfile import os def tar(fname): t = tarfile.open(fname + ".tar.gz", "w:gz") for root, dir, files in os.walk(fname): print root, dir, files for file in files: fullpath = os.path.join(root, file) t.add(fullpath) t.close()

java实现zip文件的解压

使用到的包 org.apache.commons 下载文件 url:文件所在地址需要是http:// filePath:将下载的文件保存的路径 public static void getDownloadResource(String url, String filePath) throws IOException { File file = new File(filePath); if (!file.exists()) { file.createNewFile(); } OutputStrea

下载inception v3 google训练好的模型并解压08-3

import tensorflow as tf import os import tarfile import requests #模型下载地址 inception_pretrain_model_url='http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz' #模型存放地址 inception_pretrain_model_dir="inception_model" if not o

通过zipfile解压指定目录下的zip文件

代码: # -*- coding: utf-8 -*- import os import zipfile import platform import multiprocessing # 解压后的文件夹与原来的zip文件同名且在相同目录下 # 确保windows下解压后的文件夹名不乱码 file_encoding = "utf-8" if platform.system() == "Windows": file_encoding = "gbk"

python笨办法解决zipfile解压会改变文件最后修改时间的问题

# -*- coding=gbk -*- import zipfile def UnZip(path, patht):     #path 为需要解压的文件路径,patht为解压的目标目录     f = zipfile.ZipFile(path, 'r')     print "开始解压文件..."     for file in f.namelist():         print "正在解压文件:%s to %s" %(file, patht)       

zipfile 解压文件名 中文字符 乱码

unzip 中文文件名乱码 上传文件功能模块需求及BUG现象: 上传一个.zip格式的压缩文件 解压该test.zip压缩文件 解压zip文件时,遍历其目录下所有子文件,同时计算出单个子文件的有效代码行数 这时,发现解压后的子文件名中文出现乱码,如下图: BUG截图 解决思路 1.解压过程中,发现解压的文件内容正常: 2.使用的是第三方库zipfile模块,因为第1步得到正常的文件内容,本地业务逻辑可先不排查: 3.首先检查zipfile的源码中,针对编码/解码的执行过程仔细排查发现: zipf

day6-python-压缩解压

压缩解压包 #导入模块 import zipfile #新建压缩包并将db与ooo.xml压缩到文件中 z = zipfile.ZipFile('laxi.zip','w') z.write('db') z.write('ooo.xml') z.close() #解压以读的方式打开laxi.zip文件 z = zipfile.ZipFile('laxi.zip','r') #并将文件解压到指定路径 z.extractall(path = r'C:\Users\liguangxu\Desktop'

关于文件的压缩与解压

1 #coding:utf-8 2 import tarfile 3 import zipfile 4 import rarfile 5 import os 6 import shutil 7 class parsePackage: 8 def __init__(self): 9 self.funcMap={'tar':self.untar, 10 'zip':self.unzip, 11 'rar':self.unrar, 12 'gz':self.untar} 13 def parse(se