Python读取配置文件

原创 2015年11月20日 23:58:13

欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/49954705


一、argparse

argparse,是Python标准库中推荐使用的编写命令行程序的工具。也可以用于读取配置文件。

1.conf配置文件(test.conf):

{
	"game0":
	{	
		"ip":"127.0.0.1",
		"port":27182,
		"type":1
	},
	"game1":
	{
		"ip":"127.0.0.1",
		"port":27183,
		"type":0
	},
	"game2":
	{
		"ip":"127.0.0.1",
		"port":27184,
		"type":0
	}
}


2.python代码(test.py):

# -*- coding:utf-8 -*-

import json
import sys
import argparse

def parse_args(args):
	parser = argparse.ArgumentParser(prog="GameServer")
	parser.add_argument('configfile', nargs=1, type=str, help='')
	parser.add_argument('--game', default="game", type=str, help='')
	return parser.parse_args(args)

def parse(filename):
	configfile = open(filename)
	jsonconfig = json.load(configfile)
	configfile.close()
	return jsonconfig

def main(argv):
	args = parse_args(argv[1:])
	print "args:",args
	config = parse(args.configfile[0])
	info = config[args.game]
	_ip = info['ip']
	_port = info['port']
	print "type:",type(_port)
	_type = info['type']
	print "print:%s,%d,%d"%(_ip,_port,_type)

if __name__ == '__main__':
	main(sys.argv)

启动脚本:python test.py test.conf --game=game0



二、ConfigParser

ConfigParser是Python读取conf配置文件标准的库。

1.conf配置文件(test2.conf):

[game0]
ip = 127.0.0.1
port = 27182
type = 1

[game1]
ip = 127.0.0.1
port = 27183
type = 0

[game2]
ip = 127.0.0.1
port = 27184
type = 0


2.Python代码(test2.py):

# -*- coding:utf-8 -*-

import ConfigParser
import sys

def parse_args(filename):
	cf = ConfigParser.ConfigParser()
	cf.read(filename)
	
	#return all sections
	secs = cf.sections()
	print "sections:",secs
	
	#game0 section
	game0 = cf.options("game0")
	print "game0:",game0
	
	items = cf.items("game0")
	print "game0 items:",items
	
	#read
	_ip = cf.get("game0","ip")
	_port = cf.getint("game0", "port")
	_type = cf.getint("game0", "type")
	print "print:%s,%d,%d"%(_ip,_port,_type)

def main(argv):
	parse_args(argv[1])

if __name__ == '__main__':
	main(sys.argv)

启动脚本:python test2.py test2.conf


我个人更喜欢第一种方式,因为觉得第一种方式可以很方便操作一个标准json格式的多层的配置,而且更方便命令行过滤,第二种方式不方便操作多层数据且取数据的时候比第一种略微麻烦。



如何使用Python3读写INI配置文件

 ini文件简介 ini是我们常见到的配置文件格式之一。 ini是微软Windows操作系统中的文件扩展名(也常用在其他系统)。 INI是英文“初始化(Initial)”的缩写。正如该...
  • willhuo
  • willhuo
  • 2015年10月30日 15:37
  • 4403

python读conf配置文件--ConfigParser

python读写配置文件还是比较方便得。   1) 基本的读取配置文件      -read(filename) 直接读取ini文件内容      -sections() 得到所有的secti...

python读取配置文件

author:skate time:2013/12/11 python读取配置文件   配置文件样例: [root@slave92 python]# more config.ini ...
  • wyzxg
  • wyzxg
  • 2013年12月11日 14:53
  • 10484

python-ConfigParser模块【读写配置文件】

1,函数介绍 1.1.读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(...

python-ConfigParser模块【读写配置文件】

http://www.codesky.net/article/201003/122500.html http://www.linuxso.com/linuxbiancheng/8987.html ...

【Python】配置文件读取

Python提供了ConfigParser包来进行配置文件读取。API: read(filename) 读取ini文件内容 sections() 得到所有的section,并以list的形式返回 op...

Python 读取写入配置文件 —— ConfigParser

转载自:http://www.cnblogs.com/feeland/p/4514771.html   Python 读取写入配置文件很方便,可使用内置的 configparser 模块;可...

Python读取ini配置文件

需求: 写个项目,用到数据库,多个地方使用,不能硬编码。很类似java的properties文件 Python支持ini文件的读取 涉及模块: ConfigParser xml文件 db_...
  • wklken
  • wklken
  • 2012年02月19日 01:19
  • 21941

通过python的ConfigParse模块读写ini配置文件

python读写配置文件ConfigParser模块是python标准库自带的读取配置文件的模块.通过他可以方便的读取配置文件.目前示例代码中的Python版本都是基于2.7版本 官网地址是,异常处...
  • tao_627
  • tao_627
  • 2015年10月30日 07:50
  • 3184

python读取读取配置文件信息操作代码

#coding=utf8 ''' 该库用来管理文件。 初始化函数调用读取配置文件模块中的Config类 用来获取下载路径、保存路径。 模块包含四个方法: clearResultCSV(): 用来删除下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python读取配置文件
举报原因:
原因补充:

(最多只允许输入30个字)