python匹配问题求救
是这样的,当前目录下config.txt,其中内容大致如下
[input]
Number =9
name1 = exam1
name2 =exam2
name3 =exam3
name4 =exam4
name5 =name5
name6 =name6
name7 =name7
name8 =name8
name9 =callreason
[统计项]
[统计项-yi]
cfld_enable = true
要求读取中的配置内容
python脚本中的可以输出这么几个参数number=9,s1=exam1,s2=exam2......cfld=1(true就是1false就是0)
我写了一个读取Number的但是读取不出来,能帮忙看看吗?感激直至
# -*- coding:gb2312 -*
#!/usr/bin/env python
import re,sys,string,os,struct,time
import os
f_conf=open("config.txt","r")
f_input=('.').join(f_conf.read().split('\n'))
#f_input=f_conf.read().split('\n')
print f_input
s_out=""
for s_inp in f_input:
n_re="Number (.*?).*?name1"
p=re.compile(n_re)
match = p.search(s_inp)
if match:
s_out=match.group(0)
print s_out
f_conf.close
在输出s_out时,没有值出现。
[解决办法]
一个很简单的问题居然被你搞得这么复杂
- Python code
#/usr/bin/env python #coding:utf-8import ConfigParser#从配置文件读取配置def readconfig(): try: #配置文件名 configfilename='./res/config.ini' config=ConfigParser.ConfigParser() config.read(configfilename) getmode=0 cfg=[] cfg.append(config.get('database','host',getmode)) cfg.append(config.get('database','username',getmode)) cfg.append(config.get('database','password',getmode)) cfg.append(int(config.get('database','port',getmode))) return cfg except Exception,ex: print ex return -1if __name__=='__main__': print 'begin...' ret=readconfig() if ret!=-1: print ret print 'end.'