• 轻松python之文件专题-关于zip文件的一些操作


    场景:

    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__
    ')
    >>> 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/TestDictinput_file.txt
    c:/Python34/TestDictLICENSE.txt
    c:/Python34/TestDictNEWS.txt
    c:/Python34/TestDictoutput_file.txt
    c:/Python34/TestDictTest1LICENSE - 副本.txt
    c:/Python34/TestDictTest2output_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后面加上参数地址


    就说到这里,谢谢大家

    ------------------------------------------------------------------

    点击跳转零基础学python-目录





    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    洛谷 P1555 尴尬的数字
    洛谷 P1318 积水面积
    9.8解题报告
    洛谷 P1464 Function
    洛谷 P1122 最大子树和
    cogs 66. [HAOI2004模拟] 数列问题
    49. 跳马问题
    洛谷 P3137 [USACO16FEB]圆形谷仓Circular Barn_Silver
    codevs 3164 质因数分解
    codeforces 482C Game with Strings
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896766.html
Copyright © 2020-2023  润新知