用Python过滤文本文件中的数据

2024-09-25 16:32:06 发布

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

我对Python很陌生(就像juzyte new),它只是为了补充另一个程序,但我需要的是我有一个文本文件,它是一个游戏的一组项,格式如下:

[1]
Name=Blah
Faction=Blahdiddly
Cost=1000

[2]
Name=Meh
Faction=MehMeh
Cost=2000

[3]
Name=Lollypop
Faction=Blahdiddly
Cost=100

我需要找出哪些组(括号中的数字)有匹配的值。

所以如果我搜索派系=blahdidly Group 1&3就会出现。

很不幸我不知道怎么做。

有人能帮忙吗?


Tags: name程序游戏new格式blahmeh文本文件
2条回答

正如Senthil所指出的,ConfigParser是您真正想要读取的文件。然而,它并不能提供一个简单的方法来过滤你想要的东西。您可以这样做(获取节的列表,查看键是否在每个节中,如果在每个节中,则查看它是否具有所需的值,如果是,则记录节),但类似这样的操作可能更简单。

datafile = open("datafile.txt")

section = None
found   = []

match   = set(["Faction=Blahdiddly"])  # can be multiple items

for line in datafile:
    line = line.strip()
    if line.startswith("[") and line.endswith("]"):
        section = line.strip("[]")
    elif line in match:
        found.append(section)

print found

你看过ConfigParser模块吗?您描述的文本文件似乎是ConfigParser可以立即识别的文件。Here is an example让你开始。

相关问题 更多 >