python 的__FILE__,__LINE__功能实现

本文探讨了Python中实现文件名和行号获取的方法,介绍了两种实现方式:一是使用sys._getframe().f_lineno,二是利用inspect模块的currentframe()函数。虽然sys._getframe().f_lineno可以实现类似C语言中__FILE__和__LINE__的功能,但并不推荐使用。

在C语言里,__FILE__和__LINE__给调试提供了很大的方便,今晚在写PYTHON的时候想到,PYTHON是否有类似的功能实现呢?

GOOGLE一番发现两个方法,试验一下下面这句:
print "here is :",__file__,sys._getframe().f_lineno 

它和C中的两个宏的功能一样了!
但根据找个网页http://nedbatchelder.com/blog/200410.html#e20041003T074926
sys._getframe().f_lineno似乎不是很受推荐的方法。
以下找个网页提供了使用inpect模块的另一种实现发法
http://www.velocityreviews.com/forums/t363977-line-and-file-functionality-in-python.html

import inspect
try :
    c=inspect.currentframe()
    print  c.f_code.co_filename,c.f_lineno,
finally :
    del c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值