神刀安全网

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)进行解耦。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Python使用string.Formatter()制作打印模板

分享到:更多 ()