python 打印机自动化,5分钟学会Python自动化运维必备:[史上最漂亮]打印(一)

本文介绍了Python Print的使用技巧,包括普遍式、占位式和Format式的Print练习,展示了如何通过Format实现更美观的输出。作者通过一个实际项目,演示了如何将Python执行SQL语句返回的结果以更直观的形式打印,类似于MySQL的输出样式。文章适合有一定Python基础的读者,提升其代码的可读性和输出的美观性。
摘要由CSDN通过智能技术生成

相信老铁们,平时使用Python最多之一的功能应该就是Print了,那请问老铁们知道Print究竟有多厉害吗?比如,自动对号入座,或者每次打印出来信息都能让人看得非常舒服!

下面的两图,就以Python执行Oracle表空间使用率语句返回的结果来说,你更喜欢哪种打印方式呢?

图一

549fc417c5cb7e60199265c68a393607.png

图二

6055ee20509832cd615f25e24d69fb3a.png

就以格式来说,老铁们是否觉得图二更加一目了然(特别吸睛)呢?那么,接下来我们就一步步来进阶Print的功能,最后以图一和图二的转换作为实验,希望老铁们喜欢,并对打印会有不一样的体验!

本文大纲Attention

1.  普遍式  Print练习

2.  占位式  Print练习

3.  Format式Print练习

4.  美滋滋  Print项目

1 普遍式  Print练习

Print的普通玩法,相信大家都玩的特别溜啦,这里就耍下我的"关刀'吧!

Example 1 :

ebdfd6df374256df8e59a36c01cf5851.png

Example 2 :

90f27c1a311279b83e273cd05bc2ebec.png

2 占位式  Print练习

占位式,顾名思义就是占着茅坑.....

41bbbaa24deaac25ba398b63a4f646fe.png

占着不一样的茅坑,可是需要不一样的符号,比如字符串,就要用s,用于像s型的,长长的;如整型,就不要拖泥又带水,要用d......这好像没啥好比喻,毕竟吹不下去了

5b4cd52a039ace6b0751a9e375f9711d.png

Python格式化符号及含义

6bfce9fd00360ea65c8d7e9af652c2fb.png

这个嘛,会几个呢?对齐,百分号估计大家平时用得比较多,其他用的少,那这里就不一一说明了,挑重点讲!

Python格式化操作符的辅助命令

51ecf572fa7fc8496b00ed26393792ce.png

占位符的宽度,左右对齐方式,下面会有例子,老铁们有兴趣就执行下,自己感受感受。没兴趣,就当自己会好了。

Example 1 : %s

7ac17ad4863148b51e870c57675e1d4c.png

Example 2 : %d

b351dfa7f4ccf5aa8dd13b23baf0cc1c.png

Example 3 : %f

6a3c6a687780fd7166593968a24767ac.png

Example 4 : %s,%d,%f

8f4d105b3740f36139962b671eb02a86.png

Example 5 : 左对齐

79939c0f50fe7f00c360c9aa4e2cd69c.png

Example 6 : 空格右对齐 和 0 右对齐

f2c40d7aed193cec7bf7d28b2dbb3409.png

3 格式化  Print练习

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 %。format 函数可以接受不限个参数,位置可以不按顺序。也就是说,Format的功能更强大,不服来战咯~

3.1 普通玩法

Example 1 :  % 都懒得打

c8bb0db1e87c6be7bba8318cfb7e8342.png

Example 2 :  自动给format值编号

e1dc0f037099055ce33f11a672d35ecc.png

Example 3 :  一一对应,就是这么Smart

0971885c179ae6360fbc1faa80e73da3.png

Example 4 :  看,我的顺序还可以秀

e7161d110bd2325da7cf2bc43b4fd14b.png

3.2  格式化限定输出(重点)

3.2.1  基本语法: 语法是{ }中带 :号

3.2.2  对齐填充: {:对齐方式  填充}

3.2.3  优秀之处: 可填充,可对齐,混搭没问题

3.2.4  对齐方式: ^、分别是居中、左对齐、右对齐,后面带宽度

3.2.5  填充方式: 号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。

Example 1 :输出左对齐定长为10位

ee5a372cc7960427bc8745b3b517f3fb.png

Example 2 :输出右对齐定长为10位

cacda737932d5ff03171b4dab49e9412.png

Example 3 :输出居中对齐定长为10位,填充x

b0500a33cac298210a6cee26c6fbe838.png

4 美滋滋  Print项目

不积硅步,无以至千里。

不积小流,无以成江海。

下面,就让小安Lasi分享下项目经验吧。

如何将Python执行SQL语句返回的元组像Mysql格式那样子输出。

如下图,以下是mysql输出信息的格式,但我们演示的时候,将会以Oracle输出的表空间使用率信息作为演示。

Example 1 :Mysql输出,自带美颜

af7ad8ea9362baf75c09daf8ee4c80db.png

25554901fd388be9dd5066b89b58b575.png

Example 2 :  安老师的初级美颜脚本来了1# -*- coding: GB18030 -*-

2

3"""

4@author: 机智的安老师

5@time:2019/4/27 11:04

6"""

7

8def print_tbs(conlist):

9    print("+{0:-<20}|{1:-<20}|{2:-<20}|{3:-<20}|{4:-<20}+".format("-", "-", "-", "-", "-"))  # 居左对齐

10    print("|{0:^20}|{1:^20}|{2:^20}|{3:^20}|{4:^20}|".format("TABLESPACE_NAME", "sumMB", "usedMB", "freeMB","USED_PERCENT"))  # 居中对齐

11    print("+{0:-<20}|{1:-<20}|{2:-<20}|{3:-<20}|{4:-<20}+".format("-", "-", "-", "-", "-"))  # 居左对齐

12    for i in range(len(conlist)):

13        print("|{0:<20}|{1:<20}|{2:<20}|{3:<20}|{4:<20}|".format(*conlist[i]))  # 居左对齐

14    print("+{0:-<20}|{1:-<20}|{2:-<20}|{3:-<20}|{4:-<20}+".format("-", "-", "-", "-", "-"))  # 居左对齐

15    print("%d rows selected." % (len(conlist)))

16    print()

17

18if __name__ == '__main__':

19    tbsfreelist = [

20        ('USERS', 177.99, 169.70, 8.29, ' 95.34'),

21        ('SQL_DATA', 248.65, 235.56, 13.09, ' 94.73'),

22        ('TEST_DATA', 546.68, 507.75, 38.92, ' 92.88'),

23        ('WORK_DATA', 328, 281.04, 46.95, ' 85.68'),

24        ('WORK_INDEX', 548.63, 468.34375, 80.29, ' 85.37'),

25        ('SYSAUX', 235.25, 200.66, 34.58, ' 85.30'),

26        ('SYSTEM', 241.31, 201.31, 45.21, ' 82.12')]

27    print_tbs(tbsfreelist)

Result 2 :  这结果,我看"型"。

4c2ad174ac5b6f46b30001270ed81fa7.png

小老弟      :  等等,小安Lasi,你最后的美颜结果这不是开头的图二吗?

小安Lasi   :  是滴!你以为我写篇文章容易吗我

c152258b8dbebefa5968b9058eec0aa4.png,快快关注我,下期就会详解本文源码,并分享全自动高级美颜封装源码喔!

小老弟     :  听说还能自动根据列名长度和列信息的长度,完美打印呢,想想就好激动!

小安Lasi  :  居然敢剧透,这是你说的吗?看招!

e4e0673772e216efe0f6e852e59f6a31.png小安Lasi  :  五一过后,Python自动化运维公众号页面就要升级改版啦,并且将会开启粉丝群,希望有更多想学习自动化运维的小哥哥小姐姐大叔大妈一起来加入我们这个积极向上,互帮互助的大家庭喔~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值