场景:
zip文件的操作,包括增删改查
1.zip的创建,并在zip包里面创建一个文件
>>> import zipfile >>> handler=open('temp_zip.zip','w') >>> handler.close () >>> z=zipfile.ZipFile ('c:/Python34/temp_zip.zip','w') >>> z.writestr('hello.py','def f():return "hello word from "+__file__\n') >>> z.close ()
2.把文件树给打包到zip里面
>>> import zipfile >>> z=zipfile.ZipFile('temp_zip.zip','w') >>> for dirpath,dirnames,filenames in os.walk('c:/Python34/TestDict',True): for item in filenames: z.write (os.path .join (dirpath,item)) print (os.path .join (dirpath,item)) c:/Python34/TestDict\input_file.txt c:/Python34/TestDict\LICENSE.txt c:/Python34/TestDict\NEWS.txt c:/Python34/TestDict\output_file.txt c:/Python34/TestDict\Test1\LICENSE - 副本.txt c:/Python34/TestDict\Test2\output_file - 副本.txt >>> z.namelist () ['Python34/TestDict/input_file.txt', 'Python34/TestDict/LICENSE.txt', 'Python34/TestDict/NEWS.txt', 'Python34/TestDict/output_file.txt', 'Python34/TestDict/Test1/LICENSE - 副本.txt', 'Python34/TestDict/Test2/output_file - 副本.txt'] >>> z.close () >>>
我们预设了一个文件夹以及若干文件,然后把一个文件夹树打包了进去zip里面,最后我们输出这个包里面的文件名
通过namelist递归输出了所有文件的名称
3..清空zip包
>>> z=zipfile.ZipFile('temp_zip.zip','w') >>> z.close ()
4.解压
>>> import zipfile >>> z=zipfile.ZipFile('temp_zip.zip','a') >>> z.extractall() >>> z.close ()
上面的方法是解压到python的根目录,如果想解压到其他目录,可以在extractall后面加上参数地址
就说到这里,谢谢大家
------------------------------------------------------------------
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-05 12:15:03