- 浏览: 116014 次
- 性别:
最近访客 更多访客>>
文章分类
最新评论
-
差沙:
应该有django的Model
metaclass in python (part 1) -
beyking:
哈哈,恭喜
老子毕业了 -
towjzhou:
晕死,这种符号能打出来吗?
新的 pep ! -
xlp223:
好,需要这样的例子。自己用只能是从文档中获取一些,高级的用法, ...
SQLAlchemy Examples -
xlp223:
sql是个基础,脱离它去谈orm,有如纸上谈兵。
强大的 sqlalchemy
阅读 PLY 的 lex.py 的时候,看到这么一段代码 (line:449):
你可以在这个 frame stack 中前后移动,这样你可以获得调用者的信息:比如 f_globals、f_locals、f_builtins、f_code 等,你还可以获得调用者的调用者的信息,你还可以获得 ... 。
而且获得了调用者的字节码( f_code )之后,你还可以直接把它再执行一遍!
另外,查看 sys.exc_info 的文档时候,看到有一个警告,大意是说 sys.exc_info() 返回的那个 traceback 对象( 返回的 tuple 中第三个),最好不要赋值给当前捕捉到异常的这个函数的局部变量,如果你不需要用到 traceback 对象的话可以这么干:
理由是将 traceback 对象赋值给当前函数的局部变量会产生引用循环,而这个东西是引用计数垃圾回收方式的软肋,python2.2 以前的版本它直接就会导致内存泄露了,虽然随后版本的gc能搞定引用循环问题,不过考虑到效率,最好还是不要创建引用循环了。
try:哈哈,这种用法还真是前所未见(也许是见识还不够吧)!自己抛出异常自己捕捉,然后就可以访问到 frame stack 了!那还不无法无天了啊,呵呵。
raise RuntimeError
except RuntimeError:
e,b,t = sys.exc_info()
f = t.tb_frame
f = f.f_back # Walk out to our calling function
ldict = f.f_globals # Grab its globals dictionary
你可以在这个 frame stack 中前后移动,这样你可以获得调用者的信息:比如 f_globals、f_locals、f_builtins、f_code 等,你还可以获得调用者的调用者的信息,你还可以获得 ... 。
而且获得了调用者的字节码( f_code )之后,你还可以直接把它再执行一遍!
import sys大家还有什么变态的想法,尽管留言哈 ^_^ .
count = 0
def get_caller():
global count
try:
raise RuntimeError
except RuntimeError:
e,b,t = sys.exc_info()
f = t.tb_frame
f = f.f_back
count += 1
print count
eval(f.f_code, f.f_globals, f.f_locals)
def caller():
get_caller()
if __name__=='__main__':
caller()
另外,查看 sys.exc_info 的文档时候,看到有一个警告,大意是说 sys.exc_info() 返回的那个 traceback 对象( 返回的 tuple 中第三个),最好不要赋值给当前捕捉到异常的这个函数的局部变量,如果你不需要用到 traceback 对象的话可以这么干:
exctype, value = sys.exc_info()[:2]如果你确实需要使用这个对象,那你最好用完后 delete 掉这个变量,或者在另外开一个函数来调用 sys.exc_info()。
理由是将 traceback 对象赋值给当前函数的局部变量会产生引用循环,而这个东西是引用计数垃圾回收方式的软肋,python2.2 以前的版本它直接就会导致内存泄露了,虽然随后版本的gc能搞定引用循环问题,不过考虑到效率,最好还是不要创建引用循环了。
发表评论
-
如何在醉酒的情况下编写正确的程序
2007-06-22 09:12 1281答案很简单:Test Driven。哈哈,这个(http:// ... -
Evolution of a Python programmer
2007-05-26 07:51 1341http://dis.4chan.org/read/prog/ ... -
Python and vim: Two great tastes that go great together
2007-05-26 08:29 1674Python and vim: Two great taste ... -
字典与动态语言
2007-03-19 10:18 1355字典(或者叫哈希表、关联数组..)与动态语言的渊源可谓极深。动 ... -
使用 python 模拟 ruby 的 open class
2007-01-27 11:42 1266老早就写了这些代码,但一直懒得为它写篇博客,我觉得我永远也无法 ... -
do it runtime
2007-01-20 11:19 2605第一次从静态语言到动态语言的人肯定在思维上需要 ... -
PLY: 一个以教学为目的的lex、yacc实现
2006-09-16 12:37 3783官方网站 想学或正在学编译原理的同学可不要错过了,要是上个学期 ... -
python is obvious !
2006-09-18 17:40 1325初识 python 的时候常常会被一些陌生的概念绊倒,而当熟悉 ... -
compatibility of IronPython
2006-09-19 03:58 1710IronPython 1.0 的发布,在邮件列表中引起了很多争 ... -
Be Pythonic
2006-10-19 03:05 1096Be PythonicWhat is PythonicPyth ... -
a python tutorial
2006-12-04 08:01 1442A Very Brief Introduction To Py ... -
metaclass in python (part 1)
2006-12-12 14:15 2614python 的东西虽然概念上容易理解 ,但是实际用起来却也不 ... -
metaclass in python (part 2)
2006-12-12 14:24 1742接着上一篇的讲。 现在我们知道了,metaclass 生 c ... -
python types and objects
2006-12-16 14:02 1301在探寻 metaclass 的过程 ... -
selfless python
2006-12-18 04:07 1057Eliminating self with Metaclass ... -
python virtual machines
2006-12-24 13:22 1464Jython,IronPython,PyPy。 ... -
理解 python 的 method 和 function 兼谈 descriptor
2007-01-01 07:34 4886总是看到有人对 python 中的 method 和 func ... -
写了个方便下载 tudou 网视频的小程序
2007-01-09 12:26 1719http://huangyilib.googlecode.co ... -
Build extensible application with egg
2007-01-17 02:49 1749在 python 社区中 egg 已经 ...
相关推荐
资源来自pypi官网。 资源全名:pthr_db_caller-0.0.11.tar.gz
是否厌倦了为每个Rails 项目在 Gemfile 中同时要求better_errors和binding_of_caller而使您的手指陷入僵局? 那么这颗宝石是给你的!安装把它放在你的 Gemfile 中并打包: gem 'best_errors'什么是 ? 它是 Rails ...
This is the Ready project caller Id based on the Atmel Chip 8051... PCB layout is also given in this file
gem 'pg_sql_caller' 然后执行: $ bundle install 或自己安装为: $ gem install pg_sql_caller 用法 从PgSqlCaller::Base创建子类并PgSqlCaller::Base定义model_class require 'pg_sql_caller' class ...
binding_of_caller, 在 MRI 1.9.2 中,检索方法调用方的绑定 binding_of_caller( C ) Mair ( banisterfiend ) 2012检索 MRI (> = 1.9.2 ) 和 RBX ( Rubinius )的方法调用方的绑定。binding_of_
dll_caller 一个windows dll调用hellper Windows 消息框示例 package main import ( "github.com/gogap/dll_caller" "fmt" ) func main (){ ShowMessageBox () } func ShowMessageBox () { var dll * dll_...
旧版本版本的全志R16平台的tinav2.1的系统打开softAP 2017/9/14 17:25 版本:V1.0 1、原始编译: ...rootroot@cm-System-Product-Name:~$ cd /home/wwt/ ...rootroot@cm-System-Product-Name:/home/wwt$ tar zxvf...
pino-caller为包装这增加了每个日志消息的调用位置到日志输出。 这在使用大型代码库进行开发时很有用,以便找到调用pino的确切位置。 安装 对于Pino v4及以下版本,请使用v2行,可以使用@legacy标签安装该@legacy :...
this documents gives full length description on caller id Dual tone multiple Frequencies
来电显示记录器,可以记录400多条电话来电记录。
不错的来电显示OCX控件,可实现来电显示的功能
這是用 PIC16F690 做的電話來電號碼辨識開門的程序
ActiveRecord :: Commentator将caller_location (文件名,行号和方法名)添加为调用SQL语句SQL注释。 安装 将此行添加到您的应用程序的Gemfile中: gem 'activerecord-commentator' 然后执行: $ bundle 或将...
问题描述 做项目用到了MUI的scroll控件 故此我引入了mui.min.js 然而 猝不及防地报错了: 原创文章 236获赞 36访问量 201万+ 关注 私信 展开阅读全文 作者:Piconjo_Official
#ssf_DTS_caller ssf_DTS_caller 是一个用于从读取深度照明数据中调用 CNV 的包。 该包有许多依赖项,包括 DenseTrackSets 和 DTS 基因型文件。 它还包含 genotype_regions,一个用于获取一组区域的基因型的简单...
摘要:Delphi源码,其它类别,API 一个封装了安全API调用机制的Delphi类。这个类参考了Delphi的线程类中安全调用多线程管理API的代码,因此... 这个类可以进一步的实现,ApiCaller.pas中给出的只是一个简单的框架。
ChiCMaxima由5个Rscripts组成:ChiCMaxima_Caller.r,ChiCMaxima_Collate.r,ChiCMaxima_MergeRep2.r,ChiCMaxima_MergeRepMany.r和ChiCMaxima_RepAnalysis.r,以及R浏览器(ChiCBrowser.r)以可视化带有被称为...
用于解决win10蓝屏(代码:bad_pool_caller)的方法,安装后没有蓝屏。完美解决。。。。。。。。。。。。。。。。
getCaller 错误用法 node test.js/Users/tinganho/Development/caller-test/test.js但是对于节点 v0.12,它会引发错误。
errinj_kill_caller - 将 SIGKILL 发送到调用文件操作的进程。 errinj_noop - 用无操作替换文件操作(类似于 ,但适用于任何文件操作)。 errinj_slowdown - 减速调用文件操作。 建造 先决条件: CentOS: dnf ...