Python:Systeminfo只打印网卡

Python:Systeminfo只打印网卡,python,regex,subprocess,Python,Regex,Subprocess,您好,我正在尝试使用子流程使用systeminfo(Windows操作系统命令)打印信息。 我已经通过re.search()找到了想要的字符串,但它只给出了结果代码。 无论如何,我想做的是从网卡开始打印,一直打印到该特定部分的所有信息都已提供,其余部分未使用 import subprocess import re def main(): print "This is a system info handling program" infoHandler() def infoHa

您好,我正在尝试使用子流程使用
systeminfo
(Windows操作系统命令)打印信息。 我已经通过
re.search()
找到了想要的字符串,但它只给出了结果代码。 无论如何,我想做的是从网卡开始打印,一直打印到该特定部分的所有信息都已提供,其余部分未使用

import subprocess
import re
def main():
    print "This is a system info handling program"
    infoHandler()

def infoHandler():
    after_network_card = subprocess.check_output('systeminfo')
    searchLine = re.search("Network", after_network_card)

    print searchLine

if __name__ == '__main__':
    main()
如果
网卡
位于您的信息末尾,则您可以将此正则表达式与
findall()
一起使用


如何将“该特定部分”与输出的其余部分分隔开来?你怎么找到它的尽头?请提供示例输入和预期输出,因为您可以指定哪个操作系统?预期的输出是什么?无关:如果您忽略了,请不要在网卡后将其命名为
。我只想打印网卡信息,直到网卡的ip地址结束。如何在打印MAC地址后防止打印?@user3441458可能替换为
“网卡”\S*([\S\S]*:[a-f0-9]{4}:[a-f0-9]{4})”
findall
中的正则表达式中。我在正则表达式中添加了
:[a-f0-9]{4}:[a-f0-9]{4}
,以便它匹配类似
:dc77:33f6
searchLine = re.findall("Network Card\S*:([\s\S]*:[a-f0-9]{4}:[a-f0-9]{4})", after_network_card)
print searchLine[0]