lightconfig是一个简单的库,可以让用户读取或写入配置

lightconfig的Python项目详细描述


lightconfig库使您能够轻松地创建或读取配置文件

安装

lightconfig可以通过pip方便地使用:

pip install lightconfig

或通过git clonesetup.py安装

git clone https://github.com/daassh/LightConfig.git
python setup.py install

用法

导入

fromlightconfigimportLightConfig

创建

cfg=LightConfig("config.ini")

< CIT>(如果特定路径不存在,将创建路径文件)

读/写

通常,您可以按属性和项读取/写入配置

按属性读/写
>>>cfg.section.option='value'>>>cfg.section.option'value'

按项目读/写
>>>cfg['section']['option']='value'>>>cfg['section']['option']'value'

按节编写

>>>cfg.section1={'option1':'value1'}>>>cfg['section2']={'option2':'value2'}>>>cfg{'section1':{'option1':'value1'},'section2':{'option2':'value2'}}

但在某些情况下,只能使用按项读/写

节/选项名不能是python变量名

错误

>>>cfg.section-2.2option='value2'...SyntaxError:invalidsyntax

>>>cfg['section-2']['2option']='value2'

节/选项名称是命令

dictlightconfig的内部方法(用于使lightconfig对象可写,dict用于访问lightconfig的其他内部方法),因此当使用dict作为节/选项名称时,您只能按项目访问它:

错误

>>>cfg.keys.option3='value3'...AttributeError:'method'objecthasnoattribute'option3>>>cfg.keys<boundmethodLightConfig.keysof...>>>>cfg.__dict__.option4='value4'...AttributeError:'dict'objecthasnoattribute'option4'>>>cfg.__dict__{'_config_path':'','_try_encoding':{},...}

>>>cfg['keys'].option3='value3'>>>cfg['keys']{'option3':'value3'}>>>cfg['__dict__'].option4='value4'>>>cfg['__dict__']{'option4':'value4'}

删除

使用del删除节/选项:

>>>delcfg.section.option>>>'option'incfg.sectionFalse>>>delcfg['section']>>>'section'incfgFalse

可听写

使用dictlightconfiglightconfig.section对象转换为dict:

>>>type(dict(cfg))<class'dict'>>>>type(dict(cfg.section))<class'dict'>

Iterable

>>>forsection_name,section_infoincfg:...print(section_name)...foroption,valueinsection_info:...print('  {}={}'.format(option,value))section1option1=value1section2option2=value2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java赋值(更改if语句中的字符串值)   java Phone不显示我的应用程序以打开TXT文件   多线程Java和MongoDB线程   java如何修复WorldWind26 SocketTimeOutException?   java如何在hbase中批量删除多行?   java独立Jetty为同一上下文实例配置多个上下文路径   在java Web应用程序中通过黑盒测试测量代码覆盖率   基于Java的安卓 Youtube数据API   java创建一个选定的序列或内部类   方法如何在Java中将长参数列表重构为参数对象?   java如何比较通用LinkedList中的对象   Groovy中HashMap的java点积   java如何使用Spring将HSQLDB嵌入到WebApp的文件中   rest Java Akka HTTP请求参数提取   Eclipse Indigo(3.7)的java免费UML插件?   java无法在自定义ListView中设置页边距   桌面上的java流媒体   java使用SLF4J动态更改日志文件位置,并且独立于日志框架