python2.0.5下载_python 2.0 s12 day5 常用模块介绍

六、shutil

高级的 文件、文件夹、压缩包 处理模块

shutil模块:

shutil模块可以进行一些文件\文件夹的拷贝\压缩\删除

shutil.copyfileobj(fsrc,fdst[,length]) 这里的fsrc和fdst不是文件名,而是已经打开了的文件对象

比如 a = open('1.txt','r') b = open('2.txt','w')

这个就是在 python 中拷贝文件的方法.记住参数是文件对象.

shutil.copyfile(src,dst) #内部拷贝的时候还是调用copyfileobj()

这个就是拷贝文件了.如果src不存在报错,如果是特殊文件也报错.

shutil.copymode(src,dst) 仅拷贝权限.内容\组\用户均不变

从源码中查看到,先获取源文件权限再调用os.chmod()改权限

shutil.copystat(src,dst) 拷贝文件的状态信息.

shutil.copy拷贝文件和权限,前面shutil.copyfiles()只拷贝文件

shutil.copy2 拷贝文件和状态信息.

shutil.ignore_patterns(*patterns)

shutil.copytree()递归去拷贝文件

shutil.move递归的去移动目录

shutil.rmtree()递归删除目录

shutil.make_archive(base_name,format,...) 创建一个压缩包,参数介绍

:format 压缩包种类,'zip','tar','bztar','gztar'

:base_name文件名类似name.tar.gz

:root_idr 要压缩的文件夹路径(默认是当前目录)

:owner 用户,默认当前用户

:group 组,默认当前组

:logger 用于记录日志,通常是logging.Logger对象

使用实例:

>>> shutil.make_archive('/Users/tedzhou/www','gztar',root_dir = '/Users/tedzhou/test')

'/Users/tedzhou/www.tar.gz' #再这个目录下生成了一个压缩包为www.tar.gz

#我们以后会经常的通过python写一些备份,就涉及到压缩,如果没有这个模块,就得通过os.system()用shell了,这样又low了

如果不用shutil,我们能不能完成压缩呢?可以,使用zipfile模块,只是麻烦些:

zipfile模块

import zipfile

压缩

z = zipfile.ZipFile('lianxi.zip','w')

z.write('a.log')

z.write('data.data')

z.close()

解压

z = zipfile.ZipFile('lianxi.zip','r')

z.extractall()

z.close()

tarfile模块

# 压缩

tar = tarfile.open('your.tar','w')

tar.add('lianxi.zip',src)

七、ConfigParser

用于对特定的配置进行操作,当前模块的名称在 python 3.x 版本中变更为 configparser。

八、logging

用于便捷记录日志且线程安全的模块

logging模块

简介:做日志的.很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能又错误\调试\正常\警告\错误等不同级别的日志.

如果你的日志同时打印到屏幕上又写到文件里又写到数据库里.另外,日志得格式,是不是也得标准化.比如不用这个模块你就得分开处理.

python得logging模块就题哦那个了标准得日志接口.你可以通过它存储各种格式得日志,logging得日志可以分为debug(),info(),warning(),error()和critical() 5个级别.下面我们看一下怎么用.

级别说明:

debug 调试信息非常详细

info 正常得

warning 警告

error 错误

critical 非常严重得

使用说明:

默认格式举例: (默认是打印到屏幕上)

我们举例下warning(),critical()级别得日志.

>>> import logging

>>> logging.warning('user [ted] attempted wrong password more than 3 times ')

WARNING:root:user [ted] attempted wrong password more than 3 times

>>> logging.critical("server is down")

CRITICAL:root:server is down

#我们可以看得到会打印出: 级别:用户:日志信息 (这里得用户是当前python文件所属得用户)

将日志写入文件举例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值