我想从打印网卡的部分读取文本文件并从那里继续,但我不知道如何做到这一点。
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()
答案 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中的行的迭代器。