python 打印Linux设备树并可选择搜索该树中的字符串。需要顶级dts文件作为输入。 #linux #python
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 打印Linux设备树并可选择搜索该树中的字符串。需要顶级dts文件作为输入。 #linux #python相关的知识,希望对你有一定的参考价值。
#!/usr/bin/python
from __future__ import print_function
import os, sys, getopt
searchstring = ""
def usage():
print (os.path.basename(sys.argv[0]) + ' [-s search_string] -i <inputfile>')
exit()
def printLine(input, depth):
print(depth * '\t', end="")
print(input)
def readFile(dir, filename, depth):
# Print file name
printLine (filename, depth)
# Slurp file
with open(dir + "/" + filename) as f:
lines = f.read().splitlines()
# Print matching lines
map(lambda x: printLine(str(lines.index(x)) + ": " + x, depth), filter(lambda x: searchstring in
x, lines))
# Go through included files
for include_file in [x.split()[1].replace('"', '') for x in lines if
"/include/" in x]:
readFile(dir, include_file, depth+1)
def main(argv):
inputfile = ""
global searchstring
try:
opts, args = getopt.getopt(argv, "hi:s:")
except getopt.GetoptError:
usage()
for opt, arg in opts:
print (arg)
if opt == '-h':
usage()
elif (opt == "-i"):
inputfile = arg
elif (opt == "-s"):
searchstring = arg
if inputfile == "":
usage()
readFile(os.path.dirname(inputfile), os.path.basename(inputfile), 0)
if __name__ == "__main__":
main(sys.argv[1:])
以上是关于python 打印Linux设备树并可选择搜索该树中的字符串。需要顶级dts文件作为输入。 #linux #python的主要内容,如果未能解决你的问题,请参考以下文章
将我的数据库表转换为树并在 php 中获取叶节点
Linux-设备树设备树
文章--笔记本蓝牙可以搜索到手机,但是怎么连接不了?
如何递归搜索对象树并使用 JavaScript/Prototype 1.7 基于键/值返回匹配的对象
7-8 中序遍历树并判断是否为二叉搜索树 (20 分)
剑指offer38:输入一棵二叉树,求该树的深度