python文件操作实例汇总

发布时间:2020-04-19编辑:脚本学堂
本文介绍了python文件操作的一些例子,包括python创建文件与目录,python解压缩zip文件等,有需要的朋友参考下。

例1,python实现文件压缩。
 

复制代码 代码示例:
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类的时候,再一个一个写入压缩文件。

代码:
 

复制代码 代码示例:
#!/usr/bin/env python
#coding=utf-8
 
import os
import zipfile
 
filelist = []
for root, dirs, files in os.walk("D:clean"):
    for name in files:
        filelist.append(os.path.join(root, name))
       
zf = zipfile.ZipFile("d:test.zip", "w", zipfile.zlib.DEFLATED)
for tar in filelist:
   zf.write(tar)

例3,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()

例4,解压缩文件。
 

复制代码 代码示例:

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

例5,向压缩文件中添加内容。
 

复制代码 代码示例:

import gzip
import zipfile

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