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程序设计有所帮助。