• python 自动获取(打印)代码中的变量的名字字串


    方法一:

    import inspect
    import re
    def varname(p): for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]: m = re.search(r'varnames*(s*([A-Za-z_][A-Za-z0-9_]*)s*)', line) if m: return m.group(1)

    使用:

    >>> dsalds_ = 3
    >>> varname(dsalds_)
    'dsalds_'

    方法2:

    def namestr(obj, namespace):
        return [name for name in namespace if namespace[name] is obj]

    使用:

    >>> a = 'some var'
    >>> namestr(a, globals())
    ['a']

    这里打印的结果是一个list,意思是有多个变量与a是同一个值时,这些变量会一起打印出来,自己试试:

    >>> a = 1
    >>> b = a
    >>> c = 1
    >>> d = 1.0
    >>> namestr(a, globals())     # 除了globals(),还有 locals()
    ['a', 'b', 'c', '_24', '_25', '_9', '_27']

    你可能需要一下辅助函数:

    def pv(var, var_name):
    """ print 变量的名字及type、及其值 """
    print("%s : %s; value: " % (var_name, type(var).__name__))
    print(var)


    def ps(var, var_name):
    """ print 变量的名字及typeshape """
    print("%s : %s; shape: " %(var_name, var.__class__.__name__))
    print(np.shape(var))

    使用方法:

    >>> ps(raw_data, varname(raw_data))
  • 相关阅读:
    git的命令操作指南
    【flask】RestFul的基本鉴权
    linux断电修复
    centos7安装libreoffice
    java -jar 后台启动
    yum安装nginx
    rpm安装mysql
    yum安装redis
    Centos 修改yum源
    centos8安装node.js v12.18.3
  • 原文地址:https://www.cnblogs.com/welhzh/p/6743355.html
Copyright © 2020-2023  润新知