format()的用法

在处理数据的时候,对齐很重要,挽救了强迫症的小命。
看一些示例吧。。。

 '{:5}'.format(3)  表示占位为5,3居中
 '{:*^5}'.format(3) 空位用*填满
 '{:<5}'.format(3)  左对齐
 '{:>5}'.format(3)  右对齐
 '{:.2f}'.format(3) 保留两位小数
 '{:<5.2f}'.format(3) 保留两位小数,占位为5,左对齐
 '{:e}'.format(123456)科学计数法输出 
 '{:*^20.20}'.format('asdfgh') 占位为20 ,'asdfgh'居中,空位用*填满
 '{:<20.20}'.format('asdfgh') 占位为20,左对齐

写到这里,联想到str.format(),也是经常用到的呢
四种方式打印 ‘李白乘舟将欲行,忽闻岸上踏歌声’

   1 普通方式
   vars = '{}乘舟将欲行,忽闻岸上踏{}'.format('李白','歌声')
   2 关键字传参
   a = '李白',b = '歌声'
   vars = f'{a}乘舟将欲行,忽闻岸上踏{b}'
   3 索引传参
   vars = '{0}乘舟将欲行,忽闻岸上踏{2}'.format('李白','杜甫','歌声')
   4 容器类型传参
   data = {'a':'李白','b':'歌声'}
   vars = '{}乘舟将欲行,忽闻岸上踏{}'.format(data['a'],data['b'])

还有什么用法呢?
最近学到的日志模块中logging的基本配置,也有format()格式化呀。
首先看一个设置:

logging.basicConfig( filename='./error.log',
            format='%(asctime)s  %(levelname)s \n %(message)s',
            datefmt='%Y-%m-%d %H:%M:%S' )
  1. filename :使用指定的文件名(含路径)
  2. filemode :若指定了文件,则默认模式为'a+'
  3. datefmt :指定日期、时间格式
  4. format: 对内容进行格式化:
    %(asctime)s :创建时的时间 “ 2003-07-08 16:49:45,896” 精确到毫秒
    %(created)f :创建时的时间戳,返回time.time()
    %(funcName)s:包含日志记录调用的函数名称
    %(levelno)s :数字记录级别的消息 (10, 20, 30, 40, 50)
    %(levelname)s:文本日志记录级别消息('DEBUG','INFO','WARNING',...)
    %(lineno)s :发出日志记录调用的源行号
    %(message)s:记录的信息
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。