我正在尝试解析大量配置文件并根据内容将结果分组到单独的组中 - 我只是不知道如何处理这个问题。例如,假设我在 3 个文件中有以下数据:
config1.txt ntp 1.1.1.1 ntp 2.2.2.2 config2.txt ntp 1.1.1.1 config3.txt ntp 2.2.2.2 ntp 1.1.1.1 config4.txt ntp 2.2.2.2
The results would be: Sets of unique data 3: Set 1 (1.1.1.1, 2.2.2.2): config1.txt, config3.txt Set 2 (1.1.1.1): config2.txt Set 3 (2.2.2.2): config4.txt
我了解如何对文件目录进行 glob,循环 glob 结果并一次打开每个文件,并使用正则表达式匹配每一行。我不明白的部分是我如何存储这些结果并将每个文件与一组结果进行比较,即使条目顺序不正确,但匹配条目明智。任何帮助将不胜感激。
谢谢!
请您参考如下方法:
filenames = [ r'config1.txt',
r'config2.txt',
r'config3.txt',
r'config4.txt' ]
results = {}
for filename in filenames:
with open(filename, 'r') as f:
contents = ( line.split()[1] for line in f )
key = frozenset(contents)
results.setdefault(key, []).append(filename)
