python中运维应用及difflib模块
一. shutil 模块
1. 文件操作
shutil模块简单来说是用来复制、归档文件和目录
1> shutil.copyfile(src,dst) 复制一个文件
2>shutil.copymod(src,dst) 复制文件权限 , 将文件权限同步到其他文件
3>shutil.copy(src,dst) 源必须是文件,但是 dst 可以是文件或者目录
4>shutil.copy2(src,dst) 与 copy 类似,但是源数据也会复制,类似cp -p 命令,将权限 , 时间戳等源数据也复制过去
5>shutil.copytree(src,dst) 以copy2 的方式递归复制一个目录
6>shutil.rmtree(path) 递归删除一个目录
2. 打包压缩
shutil.make_archive(base_name, format, root_dir=None,base_dir=None)
base_name: 打包后的文件名称
format:打包格式
root_dir:压缩的根目录
base_dir:开始压缩的目录
注:root_dir 和 base_dir 默认都是当前目录
二. difflib 模块
1. 文件差异对比
方法一:
注:
'-' 包含在第一个中,但不包含在第二个中
'+' 包含在第二个中,但不包含在第一个中
' ' 两者相同
'?' 两个存在增量差异
'^' 标志出两者行存在的差异字符
方法二:
eg:比较两个文件,通过html页面显示两个配置文件之间的差异
测试: