示例demo:
#!/usr/bin/env python
import os
import sys
import inspect
import logging
from datetime import *
def get_head_info():
try:
raise Exception
except:
f = sys.exc_info()[2].tb_frame.f_back
return '%s, %s, %s, %s, ' % (str(datetime.now()), f.f_code.co_filename, f.f_code.co_name, str(f.f_lineno))
def call_func():
print '%s --> skdkjzz' % (get_head_info())
def main():
call_func();
if __name__ == '__main__':
sys.exit(main())
运行效果如下:
2014-12-26 09:57:23.464724, headinfo_py, call_func, 18, --> skdkjzz
注:
1、import与from xxx import *区别
import
作用:
导入/引入一个python标准模块,其中包括.py文件、带有__init__.py文件的目录。
e.g:
- import module_name[,module1,...]
- from module import *|child[,child1,...]
<span style="font-size:12px;">import module_name[,module1,...]
from module import *|child[,child1,...]</span>
说明:
多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。
测试:
- a.py
- #!/usr/bin/env python
- #encoding: utf-8
- import os
- print '