python从某些字符串值读取文件输出

时间:2014-03-20 10:20:36

标签: python io operating-system readfile

我想从打印网卡的部分读取文本文件并从那里继续,但我不知道如何做到这一点。

import os


def main():
    print "This is a file handling system"
    fileHandler()

def fileHandler():
    os.system('systeminfo>file.txt')
    foo = open('file.txt', 'r+')
    readFile = foo.read()
    x = readFile.startswith('Network Card')
    print x
    foo.close()

if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

您不需要先将子进程输出保存到文件中。您可以将其标准输出重定向到管道:

from subprocess import check_output

after_network_card = check_output("systeminfo").partition("Network Card")[2]

after_network_card包含来自systeminfo的输出,该输出来自第一个"网卡"`。

如果您可以将输出作为文件对象访问,那么要使用"Network Card"行开头的部分:

from itertools import dropwhile

with open('file.txt') as file:
    lines = dropwhile(lambda line: "Network Card" not in line, file)

您也可以使用显式for - 循环:

for line in file:
    if "Network Card" in line:
       break
# use `file` here

文件是Python中的行的迭代器。