从某些字符串值蟒读取文件输出(python read file output from certai

2019-10-19 15:11发布

我想读从那里打印网卡部件中的文本文件,并从那里继续,但我没有线索如何做到这一点。

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()

Answer 1:

你并不需要的子进程输出先保存到一个文件中。 你可以它的标准输出重定向到一个管道:

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 -loop:

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

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



文章来源: python read file output from certain string value