Python使用string.Formatter()制作打印模板

原载于博客
工作时,会希望使用统一的打印模板来处理散落在各处的打印需求,尤其是在记录日志时,如果直接使用print函数,那么代码会显得尤其繁琐。这时,比较好的做法是编写一个函数来进行封装。而Python的string.Formatter类提供了字符串格式化功能。制作字符串模板后,通过调用format(value[, format_spec])方法,就可以依照模板生成一个格式化的字符串,而这个字符串再结合print等函数,可以在很多地方得到应用。

下面看一个示例:

import datetime

# 设计字符串模板
template = ('\nDate: "{}", Temperature: {:.1f}, Condition: "{}"')

# 根据字符串模板生成字符串
log = template.format(datetime.datetime.now(), 23.17, 'good')

# 打印格式化后的字符串
print(log)

简单的三个步骤完成任务:

  1. 根据实际需求设计一个字符串模板,也就是代码中的template,其中,{}是占位符,在占位符里可以引入各种格式化选项,如1f等等。
  2. 在系统运行过程中,将实时数据按模板指定的格式组合成新的字符串。
  3. 应用该字符串,例如使用print函数进行打印。

通过上述简单的过程,便可以优雅地完成格式化字符串的功能,并和其应用过程(例如print)进行解耦。

    原文作者:schnauzer
    原文地址: https://www.jianshu.com/p/aaab404ce79d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞