python 扩展print打印文件路径和当前时间信息的实例代码


Posted in Python onOctober 11, 2019

pinrt函数我们经常使用,但是有时候python自带的print函数打印的信息不够详细,我们可以扩展一下,打印更多的信息,例如程序文件绝对路径、当前日期时间、消息等等。这里我参考了ydf网友写的猴子补丁(monkey patch)法。

# -*- coding: utf-8 -*-
# @Author : ydf
# @Time  : 2019/5/9 19:02
"""
不直接给print打补丁,自己重新赋值。
"""
import sys
import time
# noinspection PyProtectedMember,PyUnusedLocal,PyIncorrectDocstring
def nb_print(*args, sep=' ', end='\n', file=None):
  """
  超流弊的print补丁
  :param x:
  :return:
  """
  # 获取被调用函数在被调用时所处代码行数
  line = sys._getframe().f_back.f_lineno
  # 获取被调用函数所在模块文件名
  file_name = sys._getframe(1).f_code.co_filename
  # sys.stdout.write(f'"{__file__}:{sys._getframe().f_lineno}"  {x}\n')
  args = (str(arg) for arg in args) # REMIND 防止是数字不能被join
  # 打印到标准输出,并设置文字和背景颜色
  sys.stdout.write(f'"{file_name}:{line}" {time.strftime("%H:%M:%S")} \033[0;94m{"".join(args)}\033[0m\n') # 36 93 96 94
print = nb_print # 这是打猴子补丁。
if __name__ == '__main__':
  print(0)
  nb_print(123, 'abc')
  print = nb_print
  print(456, 'def')

实例:

"D:/monkey_print2.py:31"  14:40:34  0
"D:/monkey_print2.py:32"  14:40:34  123abc
"D:/monkey_print2.py:34"  14:40:34  456def

总结

以上所述是小编给大家介绍的python 扩展print打印文件路径和当前时间信息,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
30分钟搭建Python的Flask框架并在上面编写第一个应用
Mar 30 Python
python使用wxpython开发简单记事本的方法
May 20 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
基于python实现简单日历
Jul 28 Python
Python列表推导式与生成器用法分析
Aug 02 Python
Python实现生成密码字典的方法示例
Sep 02 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
keras 读取多标签图像数据方式
Jun 12 Python
python matplotlib绘制三维图的示例
Sep 24 Python
OpenCV全景图像拼接的实现示例
Jun 05 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 #Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 #Python
python二进制读写及特殊码同步实现详解
Oct 11 #Python
Python+Tensorflow+CNN实现车牌识别的示例代码
Oct 11 #Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 #Python
python中对_init_的理解及实例解析
Oct 11 #Python
pandas数据处理进阶详解
Oct 11 #Python
You might like
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
php连接mysql数据库
2017/03/21 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
PHP webshell检查工具 python实现代码
2009/09/15 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
用pickle存储Python的原生对象方法
2017/04/28 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
Python跳出多重循环的方法示例
2019/07/03 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
股权转让协议书
2014/12/07 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
Go语言安装并操作redis的go-redis库
2022/04/14 Golang
Java版 简易五子棋小游戏
2022/05/04 Java/Android