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 相关文章推荐
python中定义结构体的方法
Mar 04 Python
python列表操作实例
Jan 14 Python
Python文件读取的3种方法及路径转义
Jun 21 Python
python一键升级所有pip package的方法
Jan 16 Python
浅谈python中列表、字符串、字典的常用操作
Sep 19 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
opencv检测动态物体的实现
Jul 21 Python
Python Django项目和应用的创建详解
Nov 27 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
php 静态页面中显示动态内容
2009/08/14 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
PHP分页类集锦
2014/11/18 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
用 JSON 处理缓存
2007/04/27 Javascript
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
浅析Python的命名空间与作用域
2020/11/25 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
css3动画效果抖动解决方法
2018/09/03 HTML / CSS
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
毕业生实习鉴定
2013/12/11 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
关于赌博的检讨书
2014/01/24 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
村党支部换届选举方案
2014/05/02 职场文书
拓展训练激励口号
2014/06/17 职场文书
农业项目合作意向书
2015/05/08 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript
Mysql忘记密码解决方法
2022/02/12 MySQL
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL