使用 Python库: PrettyTable 美化 jps 命令的输出形式

Posted 简简单单OnlineZuozuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 Python库: PrettyTable 美化 jps 命令的输出形式相关的知识,希望对你有一定的参考价值。

使用 Python库: PrettyTable 美化 jps 命令的输出形式


1、说明

jps 默认的显示形式不太友好,且不带端口,所以我们使用这个库美化一下输出

2、代码

# -*- coding:utf-8 -*-
# 用于格式化 jps 的输出

import sys
from prettytable import PrettyTable
import os


def shell(cmd):
    p = os.popen(cmd)
    x = p.read()
    p.close()
    return x


def last_index_of(s):
    a = s.split('/')
    return a[len(a) - 1]


def get_port(s):
    port = shell('lsof -ni | grep ' + arg[0] + ' | grep LISTEN | awk \\'{print $9}\\'')
    ar = port.split('\\n')
    for l in ar:
        p = l.replace('*:', '')
        if p.isdigit():
            return p
    return ''


# 表头
table = PrettyTable(['PID', 'Port', 'Jar Name', 'File Path'])

for line in shell('jps -l').split('\\n'):
    arg = line.split(' ')
    if len(arg) == 1:
        table.add_row([arg[0], get_port(arg[0]), '', ''])
    if len(arg) == 2:
        table.add_row([arg[0], get_port(arg[0]), last_index_of(arg[1]), arg[1]])

if __name__ == '__main__':
    print(table)

3、运行

以上是关于使用 Python库: PrettyTable 美化 jps 命令的输出形式的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python库: PrettyTable 美化 jps 命令的输出形式

python实操案例__02—利用prettytable库模拟高铁售票系统

python模块——PrettyTable

你值得拥有!prettytable:一款专业输出文本化表格的 Python 库!

python---PrettyTable

漂亮的输出-----prettytable和colorama的使用