*.cfg文件一般是程序运行的配置文件,python为读写常见配置文件提供了一个ConfigParser模块,所以在python中解析配置文件相当简单,下面就举例说明一下具体的操作方法。
写文件代码:
# -* - coding: UTF-8 -* -
import os
import ConfigParser
CONFIG_FILE = "Config.cfg"
host = "127.0.0.1"
port = "5432"
name = "DATABASE_NAME"
username = "postgres"
password = "postgres"
if __name__ == "__main__":
conf = ConfigParser.ConfigParser()
cfgfile = open(CONFIG_FILE,'w')
conf.add_section("DB_Config") # 在配置文件中增加一个段
# 第一个参数是段名,第二个参数是选项名,第三个参数是选项对应的值
conf.set("DB_Config", "DATABASE_HOST", host)
conf.set("DB_Config", "DATABASE_PORT", port)
conf.set("DB_Config", "DATABASE_NAME", name)
conf.set("DB_Config", "DATABASE_USERNAME", username)
conf.set("DB_Config", "DATABASE_PASSWORD", password)
conf.add_section("FL_Config")
# 将conf对象中的数据写入到文件中
conf.write(cfgfile)
cfgfile.close()
生成的配置文件Config.cfg如下:
[DB_Config]
database_host = 127.0.0.1
database_port = 5432
database_name = DATABASE_NAME
database_username = postgres
database_password = postgres
[FL_Config]
读文件代码:
# -* - coding: UTF-8 -* -
import os
import ConfigParser
CONFIG_FILE = "Config.cfg"
def main():
if os.path.exists( os.path.join( os.getcwd(),CONFIG_FILE ) ):
config = ConfigParser.ConfigParser()
config.read(CONFIG_FILE)
#第一个参数指定要读取的段名,第二个是要读取的选项名
host = config.get("DB_Config", "DATABASE_HOST")
port = config.get("DB_Config", "DATABASE_PORT")
name = config.get("DB_Config", "DATABASE_NAME")
username = config.get("DB_Config", "DATABASE_USERNAME")
password = config.get("DB_Config", "DATABASE_PASSWORD")
print host, port, name, username, password
if __name__ == '__main__':
main()
输出结果:127.0.0.1 5432 DATABASE_NAME postgres postgres
以上就是python读写cfg配置文件的简单操作,当然,也可以利用config.sections()来获取所有的段,
config. options("DB_Config")来获取DB_Config段下的所有选项等等。