python 获取当前调用函数名等log信息

import sys

funcName = sys._getframe().f_back.f_code.co_name #获取调用函数名
lineNumber = sys._getframe().f_back.f_lineno     #获取行号

print sys._getframe().f_code.co_name # 获取当前函数名
import inspect
def get_current_function_name():
    return inspect.stack()[1][3]
class MyClass:
    def function_one(self):
        print "%s.%s invoked"%(self.__class__.__name__, get_current_function_name())
if __name__ == "__main__":
    myclass = MyClass()
    myclass.function_one()
时间: 2024-10-29 20:01:38

python 获取当前调用函数名等log信息的相关文章

python 用字符串调用函数名

方法暂时看到两种: ①eval: def a():     print '1' func_a = 'a' eval(func_a)() 结果:1 ②.vars: 获取当前环境中的全部变量. def a():     print '1' func_a = 'a' vars()[func_a]() 结果:1 对于多个函数统一管理的时候,上面两种写法比较方便,可以直接通过管理函数名变量,来直接控制函数的调用. 比如: def a():     print '1'      def b():     p

python 打印调用函数名和文件名

import inspect import sys def get_current_function_name(): funcName = sys._getframe().f_back.f_code.co_name # 获取调用函数名 print(dir(sys._getframe())) print(dir(sys._getframe().f_back.f_code.co_filename)) print(sys._getframe().f_back.f_code.co_filename,"#

python获得线程调用函数的返回值

threading.Thread 并没有显式的提供获取线程调用函数返回值的方法,需求自己实现. 使用数据库是一个办法: 可以让子线程将数据写到数据库中,消费线程再去数据库中读取数据: 如果不想用数据库,可以使用类的全局变量来做传递, 示例代码如下: import os import threading class SubThread(): data = {} def __init__(self): ... def execute_func(self, key): # 执行各种操作 ... ret

Python如何获取到当前函数名和通过字符串调用函数

获取当前函数名: 应用环境: 某些时候, 为了简化和更好扩展程序,我们需要获取到当前运行的函数名字 方法1(不推荐) import sys def I_want_to_know_my_name(): print(sys._getframe().f_code.co_name) #你懂得,下划线开头的不应该使用的 方法2 import traceback def who_am_i(): return traceback.extract_stack()[-2][2] def I_want_to_kno

python学习日常-调用函数&定义函数

这几天由于生病,所以停了下. 调用函数相当的简单,比其他许多语言简单多了.我们知道,python中有许多自带的方法,我们要用的时候,就直接“方法名(参数);"就可以调用了.比如调用类型转换方法将一个int类型转换为str类型就可以str(123):就好了 定义函数,一个函数简单的定义就是 关键字(def) 方法名(参数): 做什么: 比如定义一个a+b的方法 def Add(a,b): return a+b; 忘了说明,python函数一定有返回值,即return,你可以返回为none,但是还是

python可变参数调用函数问题

一直使用python实现一些想法,最近在使用python的过程中出现这样一个需求,定义了一个函数,第一个是普通参数,第二个是默认参数,后面还有可变参数,在最初学习python的时候,都知道非关键字可变参数和关键字可变参数两种,调用的方式也非常多种多样,这里主要提出一个比较隐含的问题,并将各种可能出现的情况进行了探讨. 函数声明格式 python虽然不支持函数重载,但是通过对函数参数的众多特性的支持基本弥补了.函数声明的通式如下: def func(argv1,argv2...[,argv_d =

JAVA 获取类名,函数名

获取以下获取方法所在函数的相关信息 1.获取当前函数名:Thread.currentThread().getStackTrace()[1].getMethodName(); 2.获取当前类名:Thread.currentThread().getStackTrace()[1].getClassName(); 3.获取当前类的文件名:Thread.currentThread().getStackTrace()[1].getFileName(); 获取调用方法的所在函数的相关信息 1.获取当前函数名:

Python获取远程文件大小函数示例

分享一个Python获取远程文件大小的函数代码,简单实用,是学习python编程的基础实例. 代码: def getRemoteFileSize(url, proxy=None): """ 通过content-length头获取远程文件大小 url - 目标文件URL proxy - 代理 """ opener = urllib2.build_opener() if proxy: if url.lower().startswith('https:

Python获取access表字段名

以下代码python2.7可用. #encoding=utf8 #author: walker #date: 2014-09-16 #function: 获取指定access文件指定表的所哟字段名 import win32com.client if __name__ == '__main__': accessPathFile = r'D:\tmp\xxx.mdb' conn = win32com.client.Dispatch(r'ADODB.Connection') DSN = 'PROVID