如何在Python中解析此文件?
如何在Python中解析这个文件?基本上Python中有任何模块来完成这个工作吗?例如,我需要从下面的示例中的NFSv4\u ClientId\u缓存中获取索引大小。假设以下内容位于名为“file1”的文件中如何在Python中解析此文件?,python,parsing,Python,Parsing,如何在Python中解析这个文件?基本上Python中有任何模块来完成这个工作吗?例如,我需要从下面的示例中的NFSv4\u ClientId\u缓存中获取索引大小。假设以下内容位于名为“file1”的文件中 下面将获取NFSv4\u ClientId\u缓存大括号之间的Index\u Size整数并存储它 import re index_size = 0 with open('file', 'r') as f: text = f.read() top_level = 'NFSv4_
下面将获取
NFSv4\u ClientId\u缓存
大括号之间的Index\u Size
整数并存储它
import re
index_size = 0
with open('file', 'r') as f:
text = f.read()
top_level = 'NFSv4_ClientId_Cache'
field_name = 'Index_Size'
result = re.search(r'%s.*?\{.*?%s.*?(\d+).*?\}' % (top_level, field_name), text, re.DOTALL)
index_size = result.group(1)
print index_size
> 47
解析为什么?编辑了这个问题。请回答。我们可以用任何现有的python模块来完成吗?@VasanthGowda我非常怀疑。您要求的是从任意格式中提取任意文本字符串。如果您的文本是JSON或任何其他指定格式,那么肯定有一个模块。但是现在你需要通过正则表达式或者其他手工方式来指定格式。谢谢,我明白你的意思了。
import re
index_size = 0
with open('file', 'r') as f:
text = f.read()
top_level = 'NFSv4_ClientId_Cache'
field_name = 'Index_Size'
result = re.search(r'%s.*?\{.*?%s.*?(\d+).*?\}' % (top_level, field_name), text, re.DOTALL)
index_size = result.group(1)
print index_size
> 47