python tarfile模块
import tarfile,os target="C:\\Users\\LXS\\PycharmProjects\\user_manager\\app01" tar=tarfile.open("C:\\Users\\LXS\\PycharmProjects\\ceshi.tgz","w:gz") tar.add(target,arcname="") #1.这样打包的内容同4是不带app01目录的,不加arcname打包的是绝对路径 tar.add(target,arcname=os.path.basename(target)) # arcname="app01"这层保留的目录,同3带app01目录 os.chdir("C:\\Users\\LXS\\PycharmProjects\\user_manager") tar.add("app01") #3.这是带app01目录的 tar.add("app01",arcname="") #4.同样不带app01目录 tar.close()
def tar_gz(file_name,tmp_tar_dir,tmp_dir): """ 打包不带绝对路径 :param file_name: packaged name :param tmp_tar_dir: compressed package deposit directory 压缩包存放路径 :param tmp_dir: packaged directory 压缩文件路径 :return: """ tar = tarfile.open(os.path.join(tmp_tar_dir,file_name),"w:gz") for root,dir,files in os.walk(tmp_dir): root_dir = os.path.relpath(root,start=tmp_dir) for file in files: full_path = os.path.join(root,file) tar.add(full_path,arcname=os.path.join(root_dir,file)) tar.close()
坚持到无能为力,拼搏到感动自己