2017-05-17 51 views
1

我的日志文件的阅读部分是这样的:蟒蛇 - 日志文件

------------- 
name=ABC 
age=12 
DOB=02/12/2001 
EOL 
------------- 
name=DEF 
age=9 
DOB=06/20/2005 
EOL 
------------- 
name=XYZ 
age=23 
DOB=02/12/1992 
EOL 

如何,我可以一次读取文件的一个部分?即从“---”到“EOL”。

+1

[在Python中用分隔符分割大文本文件]可能的重复(http://stackoverflow.com/questions/7980288/splitting-large-text-file-by-a-delimiter-in-python) – davedwards

+0

可能的重复项[在Python中用分隔符分割大文本文件](http://stackoverflow.com/questions/7980288/splitting-large-text-file-by-a-delimiter-in-python) – polka

回答

0

这里有一个Python的例子是与您的输入(粘贴到“input.txt中”)经过实战检验:

sections = [] 

with open("input.txt") as file: 
    section = "" 
    for line in file.readlines(): 
     if line.strip() == "-------------": 
      sections.append(section) 
      section = "" 
     else: 
      section += line + "\n" 
     print(sections) 

现在,你可以通过sections列表循环,做任何你想做的每相间螺旋缠绕制成

+0

谢谢!我怎样才能使用正则表达式匹配来提取每个部分的名称和其他细节? – Tushar

+0

你可以遍历'section'和'if section.startswith('name'):'中的每一行。为每个属性执行此操作。 –