设为首页 收藏本站
查看: 723|回复: 0

[经验分享] python文件操作2

[复制链接]

尚未签到

发表于 2017-4-27 12:57:30 | 显示全部楼层 |阅读模式
import os
import zipfile
import sys
cwd = os.getcwd()
start = cwd.rfind(os.sep)+1
zfile = cwd[start:]+".zip"
z = zipfile.ZipFile(zfile,mode="w",compression=zipfile.ZIP_DEFLATED)
try:
    for dirpath,dirs,files in os.walk(cwd):
        for file in files:
            if file == zfile or file == "zip.py":
                continue
            z_path = os.path.join(dirpath,file)
            z.write(z_path,z_path[start:])
    z.close()
finally:
    if z:
        z.close()


import os
import zipfile
import sys
cwd = os.getcwd()
start = cwd.rfind(os.sep)+1
zfile = cwd[start:]+".zip"
z = zipfile.ZipFile(zfile,mode="w",compression=zipfile.ZIP_DEFLATED)
try:
    for dirpath,dirs,files in os.walk(cwd):
        for file in files:
            if file == zfile or file == "zip.py":
                continue
            z_path = os.path.join(dirpath,file)
            z.write(z_path,z_path[start:])
    z.close()
finally:
    if z:
        z.close()



格式编码的压缩和解压缩的module,zipfile里有两个非常重要的class:ZipFile和ZipInfo。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息。

在这里我需要把一个目录压缩,这就要将目录里的文件一个文件一个文件的加入,然后在使用zipfile的ZipFile类的时候,再一个一个写入压缩文件。

代码
1#!/usr/bin/env python
2#coding=utf-8
3
4import os
5import zipfile
6
7filelist = []
8for root, dirs, files in os.walk("D:\\clean"):
9    for name in files:
10        filelist.append(os.path.join(root, name))
11        
12zf = zipfile.ZipFile("d:\\test.zip", "w", zipfile.zlib.DEFLATED)
13for tar in filelist:
14    zf.write(tar)





python中使用ZIP压缩备份
import os
import zipfile
import time


# 压缩目录
source_dir = r'F:\web'
# 按时间生成文件名称
target_file = time.strftime('%Y%m%d%H%M%S') + '.zip'

myZipFile = zipfile.ZipFile(target_file, 'w' )
# 压缩所有文件,包含子目录
for root,dirs,files in os.walk(source_dir):
    for vfileName in files:
        fileName = os.path.join(root,vfileName)
         myZipFile.write( fileName, fileName, zipfile.ZIP_DEFLATED )

# 压缩完成
myZipFile.close()

#####################################################################

import tarfile

targzfile = "xxxx.xml.gz"
outputpath = '.'

tar = tarfile.open(targzfile, "r:gz")
for tarinfo in tar:
print tarinfo.name
tar.extract(tarinfo.name, outputpath)
tar.close()


import gzip
import zipfile

file = gzip.GzipFile(strZipFile, "r")
outFile = open(strDstFile ,"w")
outFile.write(file.read())
outFile.close()

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-370042-1-1.html 上篇帖子: python dict按照value 排序 下篇帖子: python 日期时间常用操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表