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格式的多层的配置,而且更方便命令行过滤,第二种方式不方便操作多层数据且取数据的时候比第一种略微麻烦。



python读conf配置文件--ConfigParser

python读写配置文件还是比较方便得。   1) 基本的读取配置文件      -read(filename) 直接读取ini文件内容      -sections() 得到所有的secti...
  • xiaofei0859
  • xiaofei0859
  • 2016年05月03日 15:35
  • 3646

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

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

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

转载自:http://www.cnblogs.com/feeland/p/4514771.html   Python 读取写入配置文件很方便,可使用内置的 configparser 模块;可...
  • SKY453589103
  • SKY453589103
  • 2016年07月26日 10:12
  • 1228

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

1,函数介绍 1.1.读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(...
  • Tomstrong_369
  • Tomstrong_369
  • 2016年07月01日 20:36
  • 1897

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

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

python读取配置文件

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

Python 配置处理类(ini文件)

简单的封装操作ini文件的配置处理类,保存使用 #coding=utf-8 import configparser#配置处理类 class Config: __configdir = Fals...
  • u011261430
  • u011261430
  • 2017年06月01日 14:26
  • 175

Python读取ini配置文件

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

【Python】配置文件读取

Python提供了ConfigParser包来进行配置文件读取。API: read(filename) 读取ini文件内容 sections() 得到所有的section,并以list的形式返回 op...
  • zgljl2012
  • zgljl2012
  • 2016年11月04日 08:29
  • 1319

读取配置文件和自定义配置文件(python实现)

用python读取配置文件比较方便,比如下面一个配置文件: 0.ini文件: ---------------文件开始---------------- [global] ip = 192...
  • dsg333
  • dsg333
  • 2012年03月25日 20:59
  • 826
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python读取配置文件
举报原因:
原因补充:

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