2015-05-26 88 views
0

我想編寫一個腳本來讀取apache.conf文件,併爲不同的參數獲取「MaxClients」值,「Keepalive」值,「KeepAliveTimeout」值和「ServerLimit」值等。但如果行以「#」值開始,則不應該讀取。我寫了下面的示例代碼,但它並不忽略#值,有人可以幫助我做到這一點,我只需要價值。Python讀取和搜索文件中的字符串

import re 
 

 
#afile = open('apache.txt','r') 
 
#for aline in afile: 
 
# aline1 = aline.rstrip() 
 
# ax = re.findall('MaxClients ',aline1) 
 
# print(ax) 
 

 
with open('apache.txt','r') as afile: 
 
    for line in afile: 
 
     match = re.search('MaxClients ([^,]+)', line) 
 
     if match: 
 
      print(match.group(1))

回答

0

變化re.search功能如下圖所示。

match = re.search(r'^(?! *#).*MaxClients ([^,]+)', line) 

(?! *#)負先行它斷言的行的起始後面沒有一個#符號。

+0

這是工作,非常感謝 – SLS

+0

由於你是新來的StackOverflow,我建議你閱讀[this](http://stackoverflow.com/help/accepted-answer) –