Python记录详细调用堆栈日志的方法介绍

Python013

Python记录详细调用堆栈日志的方法介绍,第1张

本文实例讲述了Python记录详细调用堆栈日志的方法。分享给大家供大家参考。具体实现方法如下:

import sysimport osdef detailtrace(info): retStr = "" curindex=0 f = sys._getframe() f = f.f_back # first frame is detailtrace, ignore it while hasattr(f, "f_code"): co = f.f_code retStr = "%s(%s:%s)->"%(os.path.basename(co.co_filename), co.co_name, f.f_lineno) + retStr f = f.f_back print retStr+infodef foo(): detailtrace("hello world")def bar(): foo()def main(): bar()if __name__ == "__main__": main()

输出:

aaa1.py( :27)->aaa1.py(main:24)->aaa1.py(bar:21)->aaa1.py(foo:18)->hello world

基础库

 

Numpy:矩阵计算与其它大多数框架的数据处理基础;

Scipy:科学计算库,提供了很多科学计算工具包和算法;

Matplotlab:专业画图工具,话说这个单词还是真是在Matlab之间插入了plot这个词形成的;

Pandas:提供类似于R语言的DataFrame操作,非常方便;

机器学习与深度学习

 

OpenCV:提供图像识别的很多方便的操作;

Orange:基于图形界面的机器学习程序,也可以用Python脚本来操作调用;

Scikit-Learn:前面说了,这是Python在机器学习领域里面的代表作。尤其是它的文档,完全可以当成机器学习的参考资料来阅读了,曾经我向朋友推荐的时候说,说过,把scikit-learn的文档当成佛经来读,假以时日,功力定会大增。

Theano:深度学习里面非常有名的一个框架了,也非常具有代表性。是其它很多框架的基础。

Keras:基于Theano进行了抽象,建议入门的话使用这个,搭积木一样地就可以弄个神经网络出来了。

NLTK:自然语言处理,提供的功能也很强大。

国内出品的Mxnet的Python接口

分布式机器学习与深度学习

 

Spark之MLlib的Python接口Pyspark

H2o的Python接口

收费的Graph Create的Python接口

Google最近刚出的TensorFlow的Python接口

三星最近刚出的Veles,目前只提供Python接口

Python记录详细调用堆栈日志的方法

这篇文章主要介绍了Python记录详细调用堆栈日志的方法,涉及Python调用堆栈日志的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

import sys

import os

def detailtrace(info):

retStr = ""

curindex=0

f = sys._getframe()

f = f.f_back# first frame is detailtrace, ignore it

while hasattr(f, "f_code"):

co = f.f_code

retStr = "%s(%s:%s)->"%(os.path.basename(co.co_filename),

co.co_name,

f.f_lineno) + retStr

f = f.f_back

print retStr+info

def foo():

detailtrace("hello world")

def bar():

foo()

def main():

bar()

if __name__ == "__main__":

main()

输出:

aaa1.py(<module>:27)->aaa1.py(main:24)->aaa1.py(bar:21)->aaa1.py(foo:18)->hello world

希望本文所述对大家的Python程序设计有所帮助。