当项目有很多文件时,要找出控制台的输出是在哪里print出来的很麻烦,不过这事对于强大的python来说小菜一碟。

先上代码和效果,再说明。

import sys,traceback

class mystdout:

stdout = sys.stdout

def write(self,_str):

if _str != '\n':

filepath,lineno = traceback.extract_stack()[-2][0:2]

mystdout.stdout.write("%s\t%s(%s)\n"%(_str,filepath,lineno))

sys.stdout = mystdout()

print 'foo'

print 'bar'

输出

foo

test_stdout.py(11)

bar

test_stdout.py(12)

当print 'foo'的时候,会调用sys.stdout.write(),不过因为sys.stdout = mystdout(),被重写了,所以实际调用的是mystdout类的write()方法。

在python中print会自动加换行符'\n',而且是单独sys.stdout.write('\n'),所以要if _str != '\n'。

再加上traceback获得文件名和行号,这样控制台的每个输出都能快速定位到在哪里print的了。

python hack js_飘逸的python - hack输出流便于调试相关推荐

  1. python epub.js_如何利用Python打包HTML页面为epub?

    最近沉迷于将各种博客和官方文档html转化成pdf,结果用手机看还是不太方便,所以想到将html转化成epub格式的电子书,要用os,re,requests,lxm,zipfile,五个库,在这里分享 ...

  2. 飘逸的python - hack输出流便于调试

    当项目有很多文件时,要找出控制台的输出是在哪里print出来的很麻烦,不过这事对于强大的python来说小菜一碟. 先上代码和效果,再说明. import sys,traceback class my ...

  3. python具体有什么用-python是什么意思?python有什么用?

    Python是一种跨平台的计算机程序设计语言. 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被 ...

  4. python什么时候进入中国-python诞生于什么时候

    python诞生于什么时候? 1991年,第一个Python编译器诞生.它是用C语言实现的,并能够调用C语言的库文件. 从一出生,Python已经具有了 : 类,函数,异常处理,包含表和词典在内的核心 ...

  5. python一般用什么编译器-Python常用的编辑器有哪些?老男孩Python

    python是一门解释型语言,代码想要运行,必须通过解释器来执行,当然为了满足不同平台的需求,python解释器也分为不同的种类,接下来老男孩教育为大家介绍五款常用python解释器. 目前常见的Py ...

  6. python有什么用-python是什么意思?python有什么用?

    Python是一种跨平台的计算机程序设计语言. 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被 ...

  7. 案例驱动python编程入门-郑州高薪python全栈工程师

    阶段一.Python 全栈工程师之必知必会 - 前端开发技术 课程一.入门必备 - 新手学 HTML5+CSS3 1.HTML基本标签 2.W3C标准及XHTML1.0基本规范 3.表格.表单及框架 ...

  8. python编程可以用来干嘛,python程序员是干嘛的

    什么是python编程 Python是一门新兴的编程语言,编程语言有很多,比如C++.Java.C#.PHP.JavaScript等,Python也是其中之一,在学习Python前,我们需要对它有一定 ...

  9. python中文版下载官网-Python中文版

    python中文版是一种面向对象的解释型计算机程序设计语言.python中文版官网面向对象编程,拥有高效的高级数据结构和简单而有效的方法,其优雅的语法.动态类型.以及天然的解释能力,让它成为理想的语言 ...

最新文章

  1. linux i2c 设备 操作说明
  2. Uva 11292 The Dragon of Loowater 模拟题
  3. 华为和思科设备路由协议默认优先级总结
  4. UA PHYS515 电磁理论II 静电场问题6 正交函数系简介
  5. Codeforces Hello 2019 D. Makoto and a Blackboard[DP+数论+概率期望]
  6. 近期工作:Updater Application Block (UAB)继续
  7. 【深度学习】使用深度学习进行手语识别
  8. jupyter notebook如何选择conda环境
  9. DeepFake捏脸真假难辨,汤姆·克鲁斯比本人还像本人!
  10. 全球时报英语新闻爬虫
  11. ARFoundation系列讲解 - 66 AR虚拟试戴
  12. 黑苹果E430c, 安装过程
  13. uni-app 快速发送短信
  14. 实现链表的插入——头插/尾插
  15. 给力文:网络营销就像娶美女做老婆(转)
  16. LeetCode:14. Longest Commen Prefix(Easy)
  17. JS 中 Object 的 keys 是无序的吗?
  18. 云服务完整删除mysql
  19. 内网渗透-红队内网渗透工具(Viper)
  20. Comparable Comparator

热门文章

  1. tongtong练习ing
  2. 计算机管理进行分区,如何硬盘分区_怎么硬盘分区-win7之家
  3. 奇怪的关键字过滤,关于xiaoi机器人平台
  4. Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统
  5. DCDC电路电感的选择(转)
  6. 《神契幻奇谭》2月14日即将上线链游玩家平台
  7. Alfred 配置google翻译
  8. 2023年新能源汽车行业趋势研究报告
  9. spring jdk动态代理、Cglib动态代理和LoadTimeWeaver(LTW)的应用选择
  10. Qt关联信号与槽的四种方式