读书人

python匹配有关问题

发布时间: 2012-02-04 15:43:09 作者: rapoo

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.' 

读书人网 >perl python

热点推荐