Python 常用的标准库以及第三方库有哪些

Python022

Python 常用的标准库以及第三方库有哪些,第1张

5个常用的Python标准库:

1、os:提供了不少与操作系统相关联的函数库

os包是Python与操作系统的接口。我们可以用os包来实现操作系统的许多功能,比如管理系统进程,改变当前路径,改变文件权限等。但要注意,os包是建立在操作系统的平台上的,许多功能在Windows系统上是无法实现的。另外,在使用os包中,要注意其中的有些功能已经被其他的包取代。

我们通过文件系统来管理磁盘上储存的文件。查找、删除、复制文件以及列出文件列表等都是常见的文件操作。这些功能通常可以在操作系统中看到,但现在可以通过Python标准库中的glob包、shutil包、os.path包以及os包的一些函数等,在Python内部实现。

2、sys:通常用于命令行参数的库

sys包被用于管理Python自身的运行环境。Python是一个解释器,也是一个运行在操作系统上的程序。我们可以用sys包来控制这一程序运行的许多参数,比如说Python运行所能占据的内存和CPU,Python所要扫描的路径等。另一个重要功能是和Python自己的命令行互动,从命令行读取命令和参数。

3、random:用于生成随机数的库

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。

4、math:提供了数学常数和数学函数

标准库中,Python定义了一些新的数字类型,以弥补之前的数字类型可能的不足。标准库还包含了random包,用于处理随机数相关的功能。math包补充了一些重要的数学常数和数学函数,比如pi、三角函数等等。

5、datetime:日期和时间的操作库

日期和时间的管理并不复杂,但容易犯错。Python的标准库中对日期和时间的管理颇为完善,你不仅可以进行日期时间的查询和变换,还可以对日期时间进行运算。通过这些标准库,还可以根据需要控制日期时间输出的文本格式。

除此之外,Python还有很多第三方库,了解更多可移步:oldboyedu

1、说明

python使用zipfile模块来压缩和解压zip文件

2、代码

import os,os.path

import zipfile

def zip_dir(dirname,zipfilename):

    filelist = []

    if os.path.isfile(dirname):

        filelist.append(dirname)

    else :

        for root, dirs, files in os.walk(dirname):

            for name in files:

                filelist.append(os.path.join(root, name))

         

    zf = zipfile.ZipFile(zipfilename, "w", zipfile.zlib.DEFLATED)

    for tar in filelist:

        arcname = tar[len(dirname):]

        #print arcname

        zf.write(tar,arcname)

    zf.close()

 

 

def unzip_file(zipfilename, unziptodir):

    if not os.path.exists(unziptodir): os.mkdir(unziptodir)

    zfobj = zipfile.ZipFile(zipfilename)

    for name in zfobj.namelist():

        name = name.replace('\\','/')

        

        if name.endswith('/'):

            os.mkdir(os.path.join(unziptodir, name))

        else:            

            ext_filename = os.path.join(unziptodir, name)

            ext_dir= os.path.dirname(ext_filename)

            if not os.path.exists(ext_dir) : os.mkdir(ext_dir)

            outfile = open(ext_filename, 'wb')

            outfile.write(zfobj.read(name))

            outfile.close()

 

if __name__ == '__main__':

    zip_dir(r'd:/python/test',r'd:/python/test.zip')

    unzip_file(r'd:/python/test.zip',r'd:/python/test2')

执行结果

顺利生成相应文件

3、备注

zip文件格式是通用的文档压缩标准,在zipfile模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:

class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])

创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-like object);参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a','w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中。参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。

ZipFile还提供了如下常用的方法和属性:

ZipFile.getinfo(name):

获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。

ZipFile.infolist()

获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。

ZipFile.namelist()

获取zip文档内所有文件的名称列表。

ZipFile.extract(member[, path[, pwd]])