python 自动获取(打印)代码中的变量的名字字串
方法一:
import inspect
import re def varname(p):
for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]:
m = re.search(r'\bvarname\s*\(\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 变量的名字及type、shape """
print("%s : %s; shape: " %(var_name, var.__class__.__name__))
print(np.shape(var))
使用方法:
>>> ps(raw_data, varname(raw_data))
python 自动获取(打印)代码中的变量的名字字串的更多相关文章
- Laravel View Composer - 当 include 一个模板时,自动获取其所需的变量
网站中,许多页面的侧边栏是相同的.例如: 分类列表页,与文章详情页的侧边栏都包含 最新文章 最新评论 统计计数 这些相同的侧边栏数据也是动态的,并不是固定的. 在每个 controller 里都写一遍 ...
- 输出JS代码中的变量内容
一. 输出JS代码中的变量内容 1. 可以直接以提示框的形式输出 alert("输出的内容"); 2. 可以输出到网页的某个位置 a. 在显示输出的位置放一个标签 <a id ...
- discuz开发实现自动获取后台入口代码
一般discuz后台入口默认是admin.php,不过部分用户为了安全可能会修改后台入口文件名称,可以用代码 '.ADMINSCRIPT.'?frame=no&action=tools& ...
- C#使用正则表达式获取HTML代码中a标签里包含指定后缀的href的值
//C#使用正则表达式获取HTML代码中a标签里包含指定后缀的href的值,表达式如下: Regex regImg = new Regex(@"(?is)<a[^>]*?href ...
- 自动匹配HTTP请求中对应实体参数名的数据(性能不是最优)
/// <summary> /// 获取请求参数字段 /// </summary> /// <typeparam name="T"></t ...
- C#获取Access数据库中的所有表名和列名
//C#获取Access数据库中的所有表名和列名 string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" ...
- IDEA中的替换功能(替换代码中的变量名很好用哦)
刚刚上班不久,这两天正在研究公司项目里面的代码,今天用阿里的插件扫描了一下代码,发现代码中有很多变量的命名,没有遵循驼峰式的命名规则.一开始我一个一个的修改这些变量名,后来无意中用了一下Ctrl+F( ...
- python实现获取文件夹中的最新文件
实现代码如下: #查找某目录中的最新文件import osclass FindNewFile: def find_NewFile(self,path): #获取文件夹中的所有文件 lists = os ...
- python 自动获取星期
自动获取星期: >>> from time import time,localtime,strftime>>> x=localtime(time())>> ...
随机推荐
- 跟着百度学PHP[17]-PHP扩展CURL的POST传输数据
如果是GET的话就不必那么多设置.但是基本需要用到POST就需要用到以下的几个设置选项. <?php $username = "admin"; $password = &qu ...
- eclipse JavaEE版"javax.servlet.http.HttpServlet" was not found on the Java Build Path问题的解决办法
使用eclipse JavaEE 版,新建 Dynamic Web Project 项目.在项目里添加 JSP 文件,会在文件头部出现错误提示.提示语句为:The superclass "j ...
- android mvp设计模式
什么是MVP MVP,全称 Model-View-Presenter.要说MVP那就不得不说一说它的前辈——MVC(Model-View-Controller,模型-视图-控制器). View:对应于 ...
- PHP 表格 post 提交 接受
<form action="<?php echo site_url('home/order/sned_order'); ?>" method="post ...
- ASP.NET中26种性能优化方法
系统类 Type类,Object类,String类, Arrary类,Console类, Exception类,GC类, MarshalByRefObject类, Math类. DateTime结构 ...
- 第一百六十三节,jQuery,基础核心
jQuery,基础核心 一.代码风格 在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号“$”来起 始的.而这个“$”就是jQuery当中最重要且独有的对象:jQuery对象,所 ...
- Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?
Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构? 解答:可以看与XML文件对应的域模型.
- Unity中内嵌网页插件UniWebView使用总结
目前有三种方式可以实现在Unity工程中实现内嵌网页的功能: 1. UnityWebCore:只支持Windows平台,调用浏览器内核,将网页渲染到mesh,作为gameObject. 2. Un ...
- oralce 术语
§2.1 术语 l 数据库块(BLOCK) ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码. ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以 ...
- Delphi StringReplace – 替换字符函数
Delphi StringReplace – 替换字符函数 Delphi中的StringReplace函数是SysUtils单元中自带的函数,该函数可以替换字符串中的指定字符. 1 2 3 4 5 6 ...