首页 > 编程知识 正文

Python读写配置文件,python读写操作

时间:2023-05-05 10:48:19 阅读:199028 作者:888

参考:configparser官网

一、介绍

ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。
注意:在python 3 中ConfigParser模块名已更名为configparser

二、API 读取 read(filename) 直接读取ini文件内容sections() 得到所有的section,并以列表的形式返回options(section) 得到该section的所有optionitems(section) 得到该section的所有键值对get(section,option) 得到section中option的值,返回为string类型getint(section,option) 得到section中option的值,返回为int类型getfloat(section,option)得到section中option的值,返回为float类型getboolean(section, option)得到section中option的值,返回为boolean类型 写入 add_section(section) 添加一个新的sectionhas_section(section) 判断是否有sectionset( section, option, value) 对section中的option进行设置remove_setion(section)删除一个sectionremove_option(section, option)删除section中的optionwrite(fileobject)将内容写入配置文件。 三、ConfigParser Objects class configparser.ConfigParser(defaults=None, dict_type=collections.OrderedDict, allow_no_value=False, delimiters=('=', ':'), comment_prefixes=('#', ';'), inline_comment_prefixes=None, strict=True, empty_lines_in_values=True, default_section=configparser.DEFAULTSECT, interpolation=BasicInterpolation(), converters={}) defaults():返回一个包含实例范围默认值的词典sections(): 得到所有的section,并以列表的形式返回add_section(section):添加一个新的sectionhas_section(section):判断是否有sectionoptions(section) 得到该section的所有optionhas_option(section, option):判断如果section和option都存在则返回True否则Falseread(filenames, encoding=None):直接读取配置文件内容read_file(f, source=None):读取配置文件内容,f必须是unicoderead_string(string, source=’’):从字符串解析配置数据read_dict(dictionary, source=’’)从词典解析配置数据get(section, option, *, raw=False, vars=None[, fallback]):得到section中option的值,返回为string类型getint(section,option) 得到section中option的值,返回为int类型getfloat(section,option)得到section中option的值,返回为float类型getboolean(section, option)得到section中option的值,返回为boolean类型items(raw=False, vars=None)和items(section, raw=False, vars=None):列出选项的名称和值set(section, option, value):对section中的option进行设置write(fileobject, space_around_delimiters=True):将内容写入配置文件。remove_option(section, option):从指定section移除optionremove_section(section):移除sectionoptionxform(option):将输入文件中,或客户端代码传递的option名转化成内部结构使用的形式。默认实现返回option的小写形式;readfp(fp, filename=None)从文件fp中解析数据 四、RawConfigParser Objects class configparser.RawConfigParser(defaults=None, dict_type=collections.OrderedDict, allow_no_value=False, *, delimiters=('=', ':'), comment_prefixes=('#', ';'), inline_comment_prefixes=None, strict=True, empty_lines_in_values=True, default_section=configparser.DEFAULTSECT[, interpolation])

1. add_section(section)
2. set(section, option, value)

五、实例 #coding=utf-8import configparserconfig = configparser.ConfigParser()fd = open("params.cfg","w+")config.readfp(fd)def write_config(value): if not config.has_section("params"): print("no params section") config.add_section("params") config.set("params", "outP", str(value[0])) config.set("params", "outI", str(value[1])) config.set("params", "outD", str(value[2])) config.set("params", "inP", str(value[3])) config.set("params", "inI", str(value[4])) config.set("params", "inD", str(value[5])) config.set("params", "altOutP", str(value[6])) config.set("params", "altOutI", str(value[7])) config.set("params", "altOutD", str(value[8])) config.set("params", "altInP", str(value[9])) config.set("params", "altInI", str(value[10])) config.set("params", "altInD", str(value[11])) config.set("params", "throttle",str(value[12])) #没有这一句上面的值都不会被写进去 config.write(fd)def read_config(): outP = float(config.get("params", "outP")) outI = float(config.get("params", "outI")) outD = float(config.get("params", "outD")) inP = float(config.get("params", "inP")) inI = float(config.get("params", "inI")) inD = float(config.get("params", "inD")) altOutP = float(config.get("params", "altOutP")) altOutI = float(config.get("params", "altOutI")) altOutD = float(config.get("params", "altOutD")) altInP = float(config.get("params", "altInP")) altInI = float(config.get("params", "altInI")) altInD = float(config.get("params", "altInD")) throttle = int(config.get("params", "throttle")) return (outP,outI,outD,inP,inI,inD,altOutP,altOutI,altOutD,altInP,altInI,altInD,throttle)if __name__ == '__main__': write_config((1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,4)) read_config()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。