info.ini
[luke]password = e10adc3949ba59abbe56e057f20f883eroot = max_disksize = auth_status = False[chen]password = c33367701511b4f6020ec61ded352059root = max_disksize = False[ooo]password = 13258root =max_disksize = False
文件读操作
1 import configparser 2 3 config = configparser.ConfigParser(allow_no_value=True) 4 config.read('usrinfo.ini') 5 6 print(config) 7 # 读 8 secs = config.sections() 9 print('secs',secs)10 11 options = config.options('luke')12 # key = options['password']13 print('option',options)14 15 item_list = config.items('luke')16 print('item_list',item_list)17 18 key_val = config.get('luke','password')19 # val1 = config.getint('luke','password')20 print('key_val',key_val)21 22 print(config['luke']['password'])
secs ['luke', 'chen', 'ooo']option ['password', 'root', 'max_disksize', 'auth_status']item_list [('password', 'e10adc3949ba59abbe56e057f20f883e'), ('root', ''), ('max_disksize', ''), ('auth_status', 'False')]key_val e10adc3949ba59abbe56e057f20f883ee10adc3949ba59abbe56e057f20f883e
文件改写操作
1.此处注意改写操作前,必须有config.read读操作,否则就相当于以写的操作open usrinfo.ini,直接write 空数据, 会把usrinfo.ini中的数据全部清空; 2.前面加了config.read读操作,貌似会在后面的config.write中默认把读出的数据重新写入到文件中; 3.config.remove_section把config.read读出的数据删除相关选项,再在config.write时把更新的数据写回 usrinfo.ini文件中。 4.因此,在改写操作前要先config.read出数据,改写完成后再config.write。
1 import configparser 2 3 config = configparser.ConfigParser(allow_no_value=True) 4 config.read('usrinfo.ini') 5 6 #删除 7 print('删除前的节点',config.sections()) 8 sec = config.remove_section('ooo') #删除节点oo 9 config.write(open('usrinfo.ini', "w"))10 print('删除后的节点',config.sections())11 '''12 1.此处注意改写操作前,必须有config.read读操作,否则就相当于以写的操作open usrinfo.ini,直接write 空数据,13 会把usrinfo.ini中的数据全部清空;14 2.前面加了config.read读操作,貌似会在后面的config.write中默认把读出的数据重新写入到文件中;15 3.config.remove_section把config.read读出的数据删除相关选项,再在config.write时把更新的数据写回16 usrinfo.ini文件中。17 4.因此,在改写操作前要先config.read出数据,改写完成后再config.write。18 '''19 20 #增加21 sec = config.has_section('GG') # 如果有此节点 返回True,没有返回False22 sec = config.add_section('GG')23 config.write(open('usrinfo.ini', "w"))24 print('add后的节点',config.sections())25 26 #赋值27 config.set('chen','root', '1111') #若key中有对应的root会直接给root赋'1111'28 config.set('chen','k1', '1111') #若key中没有对应的k1,会先生成一个k1再给k1赋'1111'29 config.write(open('usrinfo.ini', "w"))
删除前的节点 ['luke', 'chen', 'ooo']删除后的节点 ['luke', 'chen']add后的节点 ['luke', 'chen', 'GG']
5.若改写后没有config.write,则改写后的数据不会写入usrinfo.ini文件中,但数据会存在内存中,程序关闭前可以查看调用更改该数据
1 import configparser2 3 config = configparser.ConfigParser(allow_no_value=True)4 config.read('usrinfo.ini')5 6 #改写7 config['luke']['home'] = '123456'8 options = config.options('luke')9 print(options) #改写后没有config.write进文件,但仍然可以查看到,因为存在内存中
['password', 'home', 'max_disksize', 'auth_status']