天天看点

python 配置文件_python配置文件

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())