pyhton 关于 configparser 配置 模块 实践使用中碰到的坑

时间:2024-04-06 20:34:36

今天做一个ATM的练习,想要用configparser模块,写一个配置文件,存放用户信息。

结果状况连连,叫苦不迭。

我用configparser模块,想要对配置文件,进行读、写、改、查 功能。

其中 功能 和 功能 根据视频教程里教的,都没有出什么大问题。

写:

# coding=gbk
import os,json,sys
import configparser
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR) #初始化用户信息(包括:银行管理账户,商城用户账户,信用卡用户账户)
a=configparser.ConfigParser()
a['DEFAULT']={
'默认':''
}
a['商城用户']={
'uid':'张三',
'pwd':''
}
a['银行root']={
'uid':'root',
'pwd':''
}
a['信用卡用户1']={
'uid':'user1',
'pwd':'',
'存款':'',
'额度':'',
'冻结':'False'
}
a['信用卡用户2']={
'uid':'user2',
'pwd':'',
'存款':'',
'额度':'',
'冻结':'False'
}
with open(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini','w') as b:
a.write(b)

读:

    a = configparser.ConfigParser()
a.read(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini')

改:!!!!重大注意!!!

    a = configparser.ConfigParser()
a.read(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini')
a.set(x, '冻结', 'False')
with open(BASE_DIR + os.sep + 'conf' + os.sep + '用户信息.ini', 'w')as f:
a.write(f)

增:!!!!重大注意!!!!

a=configparser.ConfigParser()
a.read(BASE_DIR+os.sep+'conf'+os.sep+'用户信息.ini')
a.add_section(x)
a.set(x,'uid',y)
a.set(x,'pwd',z)
a.set(x,'存款','')
a.set(x,'额度','')
a.set(x,'冻结','False')
with open(BASE_DIR+os.sep+'conf'+os.sep+'用户信息.ini','w')as f:
a.write(f)

一定要注意两点,第一:每一次增和改操作,都要用一次读和一次写夹住。第二:不论是键还是值,都必须要是字符串类型,不然会报错!

视频教程中,讲师为了吹python的强大程度,说pyhton中的配置文件跟字典基本一样,让人听了很容易混淆!

其实配置文件跟字典的差别还是很大的!跟普通文件也不一样!

今天因为这两点,卡了我一整天,真是郁闷死啦!