python有两种配置文件,file.ini和file.json
一、ini文件如下:
db_config.ini
[baseconf]
host=127.0.0.1
port=3306
user=root
password=root
db_name=evaluting_sys
[concurrent]
processor=20
对ini文件进行读写:
importConfigParser
config=ConfigParser.ConfigParser()
conf_file= open("db_config.ini")
config.readfp(conf_file)print config.get("baseconf","port")#-----------------------------------------------------------------------
config.set("baseconf","port","11223")
file_write= open("db_config.ini","w")16config.write(file_write)
file_write.close()
importconfigparserimportos
root_dir= os.path.dirname(os.path.abspath('.')) #获取当前文件所在目录的上一级目录,即项目所在目录E:\Crawler
configpath = os.path.join(root_dir, "config.ini")
cf=configparser.ConfigParser()
cf.read(configpath)#读取配置文件
secs= cf.sections() #获取文件中所有的section(一个配置文件中可以有多个配置,如数据库相关的配置,邮箱相关的配置,每个section由[]包裹,即[section]),并以列表的形式返回
print(secs)
options= cf.options("Mysql-Database") #获取某个section名为Mysql-Database所对应的键
print(options)
items= cf.items("Mysql-Database") #获取section名为Mysql-Database所对应的全部键值对
print(items)
host= cf.get("Mysql-Database", "host") #获取[Mysql-Database]中host对应的值
print(host)
常用的读写方法:
read(filename) 直接读取ini文件内容
sections() 得到所有的section,并以列表的形式返回
options(section) 得到该section的所有option
items(section) 得到该section的所有键值对
get(section,option) 得到section中option的值,返回为string类型
getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。
2)写入配置文件
add_section(section) 添加一个新的section
set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件。
二、json配置文件
{"save_path":"/test/","size":1073741824}
with open(os.path.abspath(os.path.dirname(__file__)) + '/settlement_test.json') as r:
data= json.loads(r.read())