python解析ini文件源代码

 

ini文件

[db]
db_host=127.0.0.1
db_port=3306
db_user=root
db_pass=password
[concurrent]
thread=10
processor=20
 

 

#!/usr/bin/env python

import ConfigParser;
import string, os, sys;

def main(strConf):
	cfg = ConfigParser.ConfigParser();
	
	try:
		cfg.read(strConf);

		arrSec = cfg.sections();
		print(arrSec);

		print("echo of section");
		for sec in arrSec:
			print("section name: %s" %sec);
			
			print("items:");
			print(cfg.items(sec));
			print("\n");

			arrKey = cfg.options(sec);
			for key in arrKey:
				#print("key:%s" %key);
				val = cfg.get(sec, key);
				print("%s:%s ==> %s" %(sec, key, val));
			#end for each key
		#end for echo section	
				
	except:
		print("error cfg!");
	
			
if "__main__" == __name__:
        #if param ok
	nArgLen = len(sys.argv);
	print("main args:%d" %nArgLen);
        if len(sys.argv) < 2:
                print("useage %s %s" %(sys.argv[0], "'cfg file path'"));
                exit(0);

        #run main function      
        main(sys.argv[1]);


#cf = ConfigParser.ConfigParser()
#cf.read("test.conf")
# return all section
#s = cf.sections()
#print 'section:', s

#o = cf.options("db")
#print 'options:', o

#v = cf.items("db")
#print 'db:', v

#print '-'*60
#get vlaue
#db_host = cf.get("db", "db_host")
#db_port = cf.getint("db", "db_port")
#db_user = cf.get("db", "db_user")
#db_pass = cf.get("db", "db_pass")

# return an interger value
#threads = cf.getint("concurrent", "thread")
#processors = cf.getint("concurrent", "processor")

#print "db_host:", db_host
#print "db_port:", db_port
#print "db_user:", db_user
#print "db_pass:", db_pass

#print "thread:", threads
#print "processor:", processors
#fix a value and rewrite
#cf.set("db", "db_pass", "zhaowei")
#cf.write(open("test.conf", "w"))

 

执行:

./parse_conf.py test.ini 
main args:2
['concurrent', 'db']
echo of section
section name: concurrent
items:
[('processor', '20'), ('thread', '10')]


concurrent:processor ==> 20
concurrent:thread ==> 10
section name: db
items:
[('db_port', '3306'), ('db_user', 'root'), ('db_host', '127.0.0.1'), ('db_pass', 'password')]


db:db_port ==> 3306
db:db_user ==> root
db:db_host ==> 127.0.0.1
db:db_pass ==> password
 

你可能感兴趣的:(thread,python,OS)