寻找列表之间的共性

时间:2017-02-10 19:47:16

标签: python list

python newbie -

我有多个文本文档,其中包含来自多个AD组的用户,我需要解析每个文档并按用户组成员对用户(用户名)进行分组:例如: 营销文档有Marketing_grp:

John, Bob, Sally

Sales doc有Sales_grp:

Bob, Ron, Jeff

技术文档有Technology_grp:

Bob, Mike, Sally

我需要能够看到Bob和Sally都属于多个组,我需要知道这些组是什么,我如何用Python实现这一目标?

文本文件中的数据采用电子邮件地址的形式,如username@company.com

#AD Group Usage
import re
from sys import argv
import shelve

script, filename = argv

def ADgrps(filename):
    f=open(filename, "r+")
    text=f.read()
    ad_grps = re.findall(r'[\w]+(?=@)', text)
    return ad_grps

1 个答案:

答案 0 :(得分:2)

我做这样的事情。

import re
import sys

groups = {}
for s in sys.argv[1:]:
    with open(s) as f:
        for t in re.findall(r"[\w]+(?=@)", f.read()):
            if t in groups:
                groups[t].append(s)
            else:
                groups[t] = [s]

# Do stuff with the data.

现在你有一个字典映射电子邮件到它们出现的文件。这段代码要求相关文件的名称作为命令行参数传递。