一个快速查看信息的脚本show

最近觉得很各个环境的机器找来找去比较繁琐,信息可以在日记中找到,但是问题是日记的归类很成问题,时间一长你就会忘记当时的那篇文档写哪去了。其实信息查找这个问题大家解决不了。为了解决这个问题,我决定写一些脚本辅助显示一下信息,这样比较快。这有点像快速检索单,抛弃一大堆的信息查询,将最常用的那些信息显示出来即可。

本次主要解决的问题是机器密码的问题,由于环境多,每次连接一台机器,找密码能烦死我。于是我决定写个脚本来显示所有环境,所有机器,以及机器对应的密码。

效果如下:

对就是利用制表符进行信息的处理,我是利用python实现的。下面贴下代码:

#!/usr/bin/python
#coding:utf-8

def printHeader(col):
  print('╔'),
  print("\b{0}".format("═" * 25)),
  for i in range(col-1):
    print("\b╦"),
    print( "\b{0}".format("═" * 25)),
  print ("\b╗")

def printTail(col):
  print('╚'),
  print("\b{0}".format("═" * 25)),
  for i in range(col-1):
    print("\b╩"),
    print( "\b{0}".format("═" * 25)),
  print ("\b╝")

def printRow(col):
  print('╠'),
  print("\b{0}".format("═" * 25)),
  for i in range(col-1):
    print("\b╬"),
    print( "\b{0}".format("═" * 25)),
  print ("\b╣")

def printGroupEndRow(col):
  print('╠'),
  print("\b{0}".format("═" * 25)),
  for i in range(col-1):
    print("\b╩"),
    print( "\b{0}".format("═" * 25)),
  print ("\b╣")

def printGroupStartRow(col):
  print('╠'),
  print("\b{0}".format("═" * 25)),
  for i in range(col-1):
    print("\b╦"),
    print( "\b{0}".format("═" * 25)),
  print ("\b╣")

def printGroupSplitRow(col):
  printGroupEndRow(col)
  printGroupStartRow(col)

def printRowContent(col, values):
  print('║'),
  for value in values:
    print("\b%(value)-25s" % {'value': value}),
    print("\b║"),
  print ""

def printContent(content):
  printHeader(2)
  first = 0
  for key in content:
    if (first != 0):
      printRow(2)
    else:
      first = 1
    printRowContent(2, content[key])
  printTail(2)

content = {
  0: ["test00", "value00"],
  1: ["test01", "value01"],
  2: ["test02", "value02"],
  3: ["test03", "value03"],
  4: ["test04", "value04"],
  5: ["test05", "value05"],
  6: ["test06", "value06"],
  7: ["test07", "value07"],
  8: ["test08", "value08"],
  9: ["test09", "value09"],
  10: ["test10", "value10"],
  1001: ["test1001", "value1001"],
  1002: ["test1002", "1002"],
}

# printContent(content)


# 给出一个example,没啥用
def example():
  col = 4;
  printHeader(col)
  printRowContent(col, ["Environment", "Application", "ip Address", "Passwd"])
  printRow(col)
  printRowContent(col, ["dev", "test","192.168.1.1", "passwd"])
  printRow(col)
  printRowContent(col, ["sit", "test","192.168.1.1", "passwd"])
  printRow(col)
  printRowContent(col, ["test", "test","192.168.1.1", "passwd"])
  printGroupSplitRow(col)
  printRowContent(col, ["Environment2", "Application2", "ip Address2", "Passwd2"])
  printRow(col)
  printRowContent(col, ["dev", "test","192.168.1.1", "passwd"])
  printRow(col)
  printRowContent(col, ["sit", "test","192.168.1.1", "passwd"])
  printRow(col)
  printRowContent(col, ["test", "test","192.168.1.1", "passwd"])
  printGroupSplitRow(col)
  printRowContent(col, ["dev", "test","192.168.1.1", "passwd"])
  printRowContent(col, ["sit", "test","192.168.1.1", "passwd"])
  printTail(col)

example()

这就是一个简单的实现,其实就是一行一行的打印,图片是按照example进行的打印。printContent是一个打印表格的可配置化示例,当然这个还不通用,但是基本是够用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值