# 取出左右两侧结果集 splitted = ["]".join(line.split("]")[:1]) for line in string.split("\n") iflen(line) > 1] print("中间结果: " , splitted) left_string = ["[".join(line.split("[")[:1]) for line in splitted[0].split("\n") iflen(line) > 1] right_string = ["[".join(line.split("[")[1:]) for line in splitted[0].split("\n") iflen(line) > 1] print("左侧结果: {} 右侧结果: {}".format(left_string,right_string))
# 只取出右侧结果 string = "0.000000*ACPI" splitted = ["*".join(line.split("*")[1:]) for line in string.split("\n") iflen(line) > 1] print("右侧结果: {}".format(splitted))
# 提取特定进程CPU内存利用率 defGet_CPU_Memory_load(): dic = {"PID":0,"CPU":0,"MEM":0,"Name":0} ssh = MySSH.MySSH("192.168.81.129","root","1233","22") ssh.Init() ref = ssh.BatchCMD("ps -aux | sort -k4nr | head -n 10 | awk '{print $2 \":\" $3 \":\" $4 \":\" $11 \"@\"}'") string = ref.replace("\n","").split("@") for each in string: if each != "": ptr = each.split(":") dic['PID'] = ptr[0] dic['CPU'] = ptr[1] dic['MEM'] = ptr[2] dic['Name'] = ptr[3] print(dic)
# 提取IO最重的前20个进程 defGet_Dmesg_Load(): dic = { "left": 0 , "right":0, "center":0 } ssh = MySSH.MySSH("192.168.81.129","root","1233","22") ssh.Init() ssh.BatchCMD("echo 1 >/proc/sys/vm/block_dump") ref = ssh.BatchCMD("dmesg | awk -F: '{print $1}' | sort | uniq -c | sort -rn | head -n 20") for each in ref.split("\n"): if each != "": string = each.replace(" ","") # 提取左右侧 splitted = ["]".join(line.split("]")[:1]) for line in string.split("\n") iflen(line) > 1] left_string = ["[".join(line.split("[")[:1]) for line in splitted[0].split("\n") iflen(line) > 1] center_string = string.split("]")[1] right_string = ["[".join(line.split("[")[1:]) for line in splitted[0].split("\n") iflen(line) > 1] # print("左侧结果: {} 中间: {} 右侧结果: {}".format(left_string[0], center_string, right_string[0])) dic['left'] = left_string[0] dic['right'] = right_string[0] dic['center'] = center_string print(dic)
if __name__ == "__main__": splite_re() split_func()