5分钟学会Python自动化运维必备:[史上最漂亮]打印(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了5分钟学会Python自动化运维必备:[史上最漂亮]打印(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4082字,纯文字阅读大概需要6分钟。
内容图文
相信老铁们,平时使用Python最多之一的功能应该就是Print了,那请问老铁们知道Print究竟有多厉害吗?比如,自动对号入座,或者每次打印出来信息都能让人看得非常舒服!
下面的两图,就以Python执行Oracle表空间使用率语句返回的结果来说,你更喜欢哪种打印方式呢?
图一
参考推文(单击右侧):用Python连接Oracle数据库容易吗?
图二
就以格式来说,老铁们是否觉得图二更加一目了然(特别吸睛)呢?那么,接下来我们就一步步来进阶Print的功能,最后以图一和图二的转换作为实验,希望老铁们喜欢,并对打印会有不一样的体验!
1. 普遍式 Print练习
2. 占位式 Print练习
3. Format式 Print练习
4. 美滋滋 Print项目
Print的普通玩法,相信大家都玩的特别溜啦,这里就耍下我的"关刀'吧!
Example 1 :
Example 2 :
占位式,顾名思义就是占着茅坑.....
占着不一样的茅坑,可是需要不一样的符号,比如字符串,就要用s,用于像s型的,长长的;如整型,就不要拖泥又带水,要用d......这好像没啥好比喻,毕竟吹不下去了
Python格式化符号及含义
这个嘛,会几个呢?对齐,百分号估计大家平时用得比较多,其他用的少,那这里就不一一说明了,挑重点讲!
Python格式化操作符的辅助命令
占位符的宽度,左右对齐方式,下面会有例子,老铁们有兴趣就执行下,自己感受感受。没兴趣,就当自己会好了。
Example 1 : %s
Example 2 : %d
Example 3 : %f
Example 4 : %s,%d,%f
Example 5 : 左对齐
Example 6 : 空格右对齐 和 0 右对齐
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。也就是说,Format的功能更强大,不服来战咯~
3.1 普通玩法
Example 1 : % 都懒得打
Example 2 : 自动给format值编号
Example 3 : 一一对应,就是这么Smart
Example 4 : 看,我的顺序还可以秀
3.2 格式化限定输出(重点)
3.2.1 基本语法 : 语法是{ }中带 :号
3.2.2 对齐填充 : {:对齐方式 填充}
3.2.3 优秀之处 : 可填充,可对齐,混搭没问题
3.2.4 对齐方式 : ^、<、>分别是居中、左对齐、右对齐,后面带宽度
3.2.5 填充方式 : 号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。
Example 1 : 输出左对齐定长为10位
Example 2 : 输出右对齐定长为10位
Example 3 : 输出居中对齐定长为10位,填充x
不积硅步,无以至千里。
不积小流,无以成江海。
下面,就让小安Lasi分享下项目经验吧。
如何将Python执行SQL语句返回的元组像Mysql格式那样子输出。
如下图,以下是mysql输出信息的格式,但我们演示的时候,将会以Oracle输出的表空间使用率信息作为演示。
Example 1 : Mysql输出,自带美颜
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 : 这结果,我看"型"。
小老弟 : 等等,小安Lasi,你最后的美颜结果这不是开头的图二吗?
小安Lasi : 是滴!你以为我写篇文章容易吗我,快快关注我,下期就会详解本文源码,并分享全自动高级美颜封装源码喔!
小老弟 : 听说还能自动根据列名长度和列信息的长度,完美打印呢,想想就好激动!
小安Lasi : 居然敢剧透,这是你说的吗?看招!
小安Lasi : 五一过后,Python自动化运维公众号页面就要升级改版啦,并且将会开启粉丝群,希望有更多想学习自动化运维的小哥哥小姐姐大叔大妈一起来加入我们这个积极向上,互帮互助的大家庭喔~
内容总结
以上是互联网集市为您收集整理的5分钟学会Python自动化运维必备:[史上最漂亮]打印(一)全部内容,希望文章能够帮你解决5分钟学会Python自动化运维必备:[史上最漂亮]打印(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。