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

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

图一

python 打印图案 python漂亮打印_1分钟学会python

图二

python 打印图案 python漂亮打印_左对齐_02

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

本文大纲Attention

1.  普遍式  Print练习

2.  占位式  Print练习

3.  Format式  Print练习

4.  美滋滋  Print项目

1 普遍式  Print练习

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

Example 1 :

python 打印图案 python漂亮打印_python 打印图案_03

Example 2 :

python 打印图案 python漂亮打印_python 打印图案_04

2 占位式  Print练习

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

python 打印图案 python漂亮打印_1分钟学会python_05

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

python 打印图案 python漂亮打印_左对齐_06

Python格式化符号及含义

python 打印图案 python漂亮打印_Python_07

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

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

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

Example 1 : %s

Example 2 : %d

Example 3 : %f

Example 4 : %s,%d,%f

python 打印图案 python漂亮打印_python 打印图案_08

Example 5 : 左对齐

python 打印图案 python漂亮打印_python 打印图案_09

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

python 打印图案 python漂亮打印_1分钟学会python_10

3 格式化  Print练习

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

3.1 普通玩法

Example 1 :  % 都懒得打

python 打印图案 python漂亮打印_左对齐_11

Example 2 :  自动给format值编号

python 打印图案 python漂亮打印_左对齐_12

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

python 打印图案 python漂亮打印_python 打印图案_13

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

python 打印图案 python漂亮打印_1分钟学会python_14

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

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

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

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

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

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

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

python 打印图案 python漂亮打印_1分钟学会python_15

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

python 打印图案 python漂亮打印_python 打印图案_16

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

python 打印图案 python漂亮打印_SQL_17

4 美滋滋  Print项目

python 打印图案 python漂亮打印_左对齐_18

不积硅步,无以至千里。

不积小流,无以成江海。

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

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

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

Example 1 :  Mysql输出,自带美颜

python 打印图案 python漂亮打印_SQL_19

python 打印图案 python漂亮打印_python 打印图案_20

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 :  这结果,我看"型"。

python 打印图案 python漂亮打印_1分钟学会python_21

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

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

python 打印图案 python漂亮打印_左对齐_22

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

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

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

python 打印图案 python漂亮打印_SQL_23


标签:运维,Python,必备,print,3.2,Print,对齐,Example

来源: https://blog.51cto.com/15061934/2653773