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中用fork()函数生成的子进程
May 04 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
python列表生成式与列表生成器的使用
Feb 23 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
Flask之flask-session的具体使用
Jul 26 Python
python 3.6.2 安装配置方法图文教程
Sep 18 Python
用python生成1000个txt文件的方法
Oct 25 Python
Django之创建引擎索引报错及解决详解
Jul 17 Python
Python实现基于socket的udp传输与接收功能详解
Nov 15 Python
浅析Python 字符编码与文件处理
Sep 24 Python
python入门教程之基本算术运算符
Nov 13 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 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语法(1)
2006/10/09 PHP
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
php 浮点数比较方法详解
2017/05/05 PHP
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
浅谈django orm 优化
2018/08/18 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
Servlet面试题库
2015/07/18 面试题
恐龙的灭绝教学反思
2014/02/12 职场文书
建筑工地标语
2014/06/18 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
出国留学单位推荐信
2015/03/26 职场文书
python 常用的异步框架汇总整理
2021/06/18 Python
关于Vue中的options选项
2022/03/22 Vue.js
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS