Python模块知识8:configparser、压缩模块

一、configparser模块

configparser用于处理特定格式的文件,其本质上是利用open来操作文件。

文件格式如:

1.基本的读取配置文件

-read(filename) 直接读取ini文件内容

-sections() 得到所有的section,并以列表的形式返回

-options(section) 得到该section的所有option

-items(section) 得到该section的所有键值对

-get(section,option) 得到section中option的值,返回为string类型

-getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

2.基本的写入配置文件

-add_section(section) 添加一个新的section

-set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件。

案例1:取节点、键值对、键、键下面的值

importconfigparser#导入模块

config=configparser.ConfigParser()#必须的装载语句

config.read('black.txt',encoding='utf-8')#从文件中读取内容

ret=config.sections()#取所有的节点

ret2=config.items("sec1")#取节点值1下的所有的键值对

ret3=config.options('sec1')#获取节点值1下的所有的键

ret4=config.get('sec1',"k1")#获取节点值1,k1键下的值

print(ret)#执行结果['sec1', 'sec2', 'sec3']

print(ret2)#执行结果[('k1', 'v1 # 值'), ('k2', 'v2 # 值')]

print(ret3)#执行结果['k1', 'k2']

print(ret4)#执行结果v1 # 值

执行结果:

案例2:操作节点

#添加节点、键值对

importconfigparser#导入模块

config=configparser.ConfigParser()#必须的装载语句

config.add_section("sec4")#添加节点

config.set("sec4","k2","jjj")#添加节点下的键值对

config.write(open('black.txt','a'))

执行结果:

案例3:检查节点

#检查节点是否存在

importconfigparser#导入模块

config=configparser.ConfigParser()#必须的装载语句

config.read('black.txt',encoding='utf-8')#从文件中读取内容

#检查是否有某个节点

has_sec=config.has_section("sec2")#检查是否有节点“sec2”

print(has_sec)

执行结果:TRUE

案例4:删除节点

#删除节点或者节点下的键值对

importconfigparser#导入模块

config=configparser.ConfigParser()#必须的装载语句

config.read('black.txt',encoding='utf-8')#从文件中读取内容

config.remove_section('sec3')#删除节点

# config.remove_option('sec3','k1')#删除节点

config.write(open('black.txt','w'))

二、压缩zipfile模块

1)压缩

import zipfile

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

z.write('hh.xml')

z.write('hhnew3')

z.close()

2)解压缩

import zipfile

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

z.extractall()#解压全部

for item in z.namelist():

print(item,type(item))

z.close()

三、tar文件夹解压

1)压缩

import tarfile

tar = tarfile.open('your.tar','w')#压缩tar文件

tar.add('hh.xml', arcname='hh1.xml')#可以把hh压缩时改名为hh1

tar.add('hhnew3', arcname='hh3')

tar.close()

2)解压

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

#tar.extractall() # 可设置解压所有的问题

#打印所有的对象

for item in tar.getmembers():

print(item,type(item))

#单个解压缩文件

obj=tar.getmember("hh1.xml")

tar.extract(obj)

tar.close()

本文来自企鹅号 - 乐想屋媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏自动化测试实战

flask第十八篇——模板【2】

2306
来自专栏前端大白专栏

angular使用管道实现搜索功能

4726
来自专栏大内老A

ASP.NET Core管道深度剖析(4):管道是如何建立起来的?

在《管道是如何处理HTTP请求的?》中,我们对ASP.NET Core的请求处理管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管...

1916
来自专栏Python小屋

Python使用模块中对象的几种方法

Python默认安装仅包含部分基本或核心模块,启动时也仅加载了基本模块,在需要时再显式地加载(有些模块可能需要先安装)其他模块,这样可以减小程序运行的压力,且具...

3716
来自专栏令仔很忙

Hibernate从入门到放弃(三)----持久化对象

当对象刚创建,和Session没有发生任何关系时,当程序运行完成就立刻消失,被称为瞬时态。瞬态对象不会被持久化到数据库中,也不会被赋予持久化标识,如果程序中失...

1251
来自专栏Java架构

Java多线程编程——锁优化

1814
来自专栏JMCui

Git 中 .gitignore 的配置语法

    在日常的开发中,当我们需要将一个项目提交到 Git 时,并不是所有的文件都需要提交,比如一些自动生成的文件,类似于 .idea 文件、class 文件等...

2683
来自专栏企鹅号快讯

Python的进程

进程 说明:本文是基于Py2.X环境, Python实现多进程的方式主要有两种:一种方法是使用os模块中的fork方法; 另一种是使用multiprocessi...

25110
来自专栏Python中文社区

每天一个Linux命令:grep

grep 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则...

1975
来自专栏Rgc

scrapy回调函数传递参数

scrapy.Request 的callback传参的两种方式 1.使用 lambda方式传递参数 def parse(self, response): ...

2803

扫码关注云+社区

领取腾讯云代金券