Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python解析登录信息_Python_Parsing_Extraction - Fatal编程技术网

用Python解析登录信息

用Python解析登录信息,python,parsing,extraction,Python,Parsing,Extraction,我试图找到一种用python解析某些信息的方法。以下是我需要解析/提取的输入: 成功的网络登录: User Name: chango Domain: world Logon ID: (0x0,0x4BBE4382) Logon Type: 3 Logon Process: NtLmSsp Authentication Package: NTLM Workstatio

我试图找到一种用python解析某些信息的方法。以下是我需要解析/提取的输入:

成功的网络登录:

    User Name:      chango

    Domain:         world

    Logon ID:               (0x0,0x4BBE4382)

    Logon Type:     3

    Logon Process:  NtLmSsp

    Authentication Package: NTLM

    Workstation Name:       computer

    Logon GUID:     -
我需要从输入中提取某些数据。特别是用户名、域、登录ID、登录类型、登录过程、身份验证包和工作站名称

本质上,我需要将这些值中的每一个都放入一个单独的变量中。我很难弄清楚如何解析它并提取我需要的东西

请帮帮我

代码:


我看不到示例代码和示例输入之间有任何关联,但如果您所要做的只是将文本解析为键/值对,那么您可能可以进行简单的拆分。这假定您的密钥始终由以下字符分隔:

原始= 用户名:chango 域名:世界 登录ID:0x0,0x4BBE4382 登录类型:3 登录过程:NtLmSsp 身份验证包:NTLM 工作站名称:计算机 登录GUID:- parsed=dictmapstr.strip,line.split':',1表示原始.split'\n'中的行,如果是line.strip 打印解析 {'Authentication Package':'NTLM', “域”:“世界”, '登录GUID':'-', “登录ID”:“0x0,0x4BBE4382”, “登录过程”:“NtLmSsp”, “登录类型”:“3”, “用户名”:“chango”, “工作站名称”:“计算机”} 打印解析的['User Name'] 昌戈 用户名=已解析['User Name'] 打印用户名 昌戈
如何在这里粘贴代码?是[code][/code]?否'code`不带移位的~键在问题编辑器中有一个格式按钮。选择代码并点击大括号以执行4个空格缩进。不要把它放在评论里。没有人可以读这个,正如您在我的代码中看到的,我正在解析一个包含事件日志的xml文件。它正在寻找一个特定的EID,并根据特定的xml标记声明变量。其中一个标签是message,它是上面我发布的部分。我需要将该消息的一部分输出,并将它们放入单独的变量中,正如我前面提到的。除了:pass。当您有意忽略所有错误时,您希望如何调试代码?这是没有关联的,因为有一个单独的主函数接收xml文件,然后调用此函数来解析它。因此,看起来与原始变量完全相同的消息变量是从xml文件的内容填充的。它接近于我正在寻找的,但我需要将每个项目放入一个单独的变量中。也许我可以分为两部分:?然后我将在字符串中得到我不想要的“单引号”。还有其他建议吗?例如:username=chango domain=world等。我需要将这些值声明为单独的变量。但是您的所有映射都有一个dict。完成了。
def parse_xml(file):
    File_Read = open(file, "rb")
    mess =[]
    try:   

        tree = parse(File_Read)
        root = tree.getroot()

        for EventItem in root.findall("EventLogItem"):
            try:
                if "540" in EventItem.find("EID").text:

                    date = EventItem.find("genTime").text

                    message = EventItem.find("message").text

                    destination = re.findall(r'Target Server Name:\t(.+)\r', message)
                    #destination = re.findall(r'(Target Server Name:)', message)
                    #s = re.split(r'\n\t', message)
                    mess.append(s)
            except: pass    

    except: pass
    return mess