前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 读写ini文件

python 读写ini文件

作者头像
matinal
发布2023-10-14 14:06:18
2030
发布2023-10-14 14:06:18
举报
文章被收录于专栏:SAP Technical

 文件格式:

[Title1] key1 = 1111111111

key2 = 2222222222

[Title2] key1 = 1111111111

key2 = 2222222222

一、python读文件

代码语言:javascript
复制
import configparser
cfp = configparser.ConfigParser()
cfp.read("test.ini")

'''获取所有的selections'''
selections = cfp.sections()
print(selections) #  ['Title1', 'Title2']

'''获取指定selections下的所有options'''
options = cfp.options("Title1")
print(options)  # ['key1', 'key2']

'''获取指定selection下的指定option的值'''
value= cfp.get("Title1", "key1")
print(value)  # 1111111111

'''判断是否含有指定selection 或 option'''
print(cfp.has_section("Title1"))  # True
print(cfp.has_option("Title1", "key3"))  # False

二、写文件

代码如下(示例):

代码语言:javascript
复制
import configparser
cfp = configparser.ConfigParser()
cfp.read("test.ini")

cfp.add_section("Title3")  # 设置option的值
cfp.set("Title3", "key1", "1111111111")  # 注意这里的selection一定要先存在!
cfp.set("Title3", "key2", "2222222222")

cfp.remove_section("Title3")  # 移除指定selection

cfp.remove_option("Title2", "key1")  # 移除指定selection下的option

with open("test.ini", "w+") as f:
    cfp.write(f)

三、封装成函数

代码语言:javascript
复制
	# 将name,password写入ini文件中
    def writeToINI(self, name, password):
        self.config.set('Titlel', name, password)
        self.config.write(open("Title1.ini", 'w'))  # 保存数据
 	# 读取ini文件中的name,password
    def readINI(self,name,password):
    	ret = False
        self.config.read("test.ini")
        sections = self.config.sections()
        items = self.config.items('test')
        # 判断name,password是否存在ini文件的section中
        if (name, password) in items:
            ret = True
        return ret

注意:

如果某个section已经存在了,在写入的时候不能够再使用config.add_section(‘Title1’)这个函数了,这样会报错,所以,我们需要进行判断,先判断Title1是否存在,然后再进行操作 例子:

代码语言:javascript
复制
self.config = configparser.ConfigParser()  # 类实例化
self.config.read('name_password.ini')
if 'name_password' not in self.config.sections():
    self.config.add_section('name_password')

这样就可以再name_password 这个section下面进行追加操作了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、python读文件
  • 二、写文件
  • 三、封装成函数
  • 注意:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档