Python读取文本文件,提取某些文本字符串

2024-04-26 11:12:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的,对python也是新来的,所以我正在努力完成一个简单的任务,希望你能帮助我。你知道吗

我有一个文本文件,其中包含以下格式的数据:

<add key="DateFormat" value="dd-MMM-yyyy"/>
<add key="JsDateFormat" value="DD-MMM-YYYY"/>
<add key="dbDateFormat" value="dd-MMM-yyyy HH:mm:ss:fff"/>

我要做的是读取和打印包含某些键的行,例如DateFormat和dbDateFormat,并打印它们的值。你知道吗

我正在使用以下方法读取文件:

f = open("file.config", "r")
file = f.read()
print(file)

它按预期读取整个文件,但我不知道如何使其搜索和打印与上述条件。你知道吗

我将非常感谢任何帮助。你知道吗


Tags: 文件数据keyaddvalue格式ddfile
2条回答

首先,您需要检查文档是否是正确的XML文件。如果我使用lxml库进行读取,您的示例内容将引发解析错误。所以首先要解决这个问题。下列节点必须是根节点的子节点。假设根节点是<body>。你知道吗

from lxml import etree

text="""
<body>
<add key="DateFormat" value="dd-MMM-yyyy"/>
<add key="JsDateFormat" value="DD-MMM-YYYY"/>
<add key="dbDateFormat" value="dd-MMM-yyyy HH:mm:ss:fff"/>
</body>
"""

parsed = etree.fromstring(text)

# Now applying xpath to get value

print(parsed.xpath("//add[@key='DateFormat']/@value"))

# Which outputs to ['dd-MMM-yyyy']

可以使用orxpath表达式从所需的键获取值。你知道吗

谢谢你的回答,我用一个简单的for/if循环和解析的文本字符串来处理它,无论如何谢谢!你知道吗

相关问题 更多 >