草庐IT

introspect

全部标签

Python 自省(introspection) - 如何从函数内部检查当前模块/调用行

我有一个函数:#utils.pydefhello(name='World'):#DetectwhereI'mbeingcalledfrom.print('Hi,%s.Youcalledthisfrom%satline#%d.'%(name,mod,lineno))#``mod``and``lineno``onpreviouslinewouldhavebeensetinrealuse.我导入该函数并在别处运行它#other.py(thiscommentatline#138)fromutilsimporthellohello('Johnny')#Frominside``hello``Iwa

python - 使用 python 和 GObject 自省(introspection)获取 GTK+ 主题颜色

随着GObject自省(introspection)的引入,通过widget.get_style()方法访问主题颜色的方式已经不存在了。我对通过GOBject自省(introspection)使用GTK+时如何获得主题颜色感兴趣。该解决方案最好适用于两个版本(2和3),但也可以接受适用于每个版本的解决方案。 最佳答案 我不确定如何从gtk+-2.0获取它,除非您使用纯gtk+-2.0环境,在这种情况下我认为旧的GtkStyle方法有效。例如,假设您没有运行像gnome-shell这样的Gtk-3.0环境importgi#makesu

python - pytest 使用变量自省(introspection)断言消息自定义

在pytestdocumentation它说您可以在assert失败时自定义输出消息。我想在测试返回无效状态代码的RESTAPI方法时自定义assert消息:deftest_api_call(self,client):response=client.get(reverse('api:my_api_call'))assertresponse.status_code==200所以我试着在conftest.py中放了一段这样的代码defpytest_assertrepr_compare(op,left,right):ifisinstance(left,rest_framework.respo

python - 使用 VIM 完成内省(introspection)代码? ...或其他具有此功能的轻量级编辑器?

我一直在网上寻找一种方法让VIM具有类似于PyDev的代码完成功能。好像不太可能啊!-我已尝试使用此链接中建议的omnicompletion:http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/.-我已经尝试了几个插件来缓解这个问题,但都没有用。“omnicomplete”功能不是我想要的。它只需要您正在处理的文件中的所有单词,并使用这些单词来尝试完成我正在做的事情。例如,如果我写道:importnumpya_single_array=range(100)np.a#[thenIhitcntrl+ntocodecomplete]它

python - 内省(introspection)有什么用?

我一直主要使用PHP进行编程,我正在尝试切换到Python。我精通PHP,而且我从来不需要使用内省(introspection)/内省(introspection)之类的功能。代码自省(introspection)有什么好处,在什么情况下我会发现它不可或缺?这是我认为有用的唯一方法:从我在“深入Python”中看到的示例来看,内省(introspection)基本上意味着您可以列出一个对象的所有函数和属性。对我来说,内省(introspection)似乎只是作为对象的“用户手册”。它使您可以从pythonshell查看对象及其功能。我只是不明白为什么或在什么情况下你会拿一个任意的对象,

Python 断言——改进了失败的自省(introspection)?

这是一个相当无用的断言错误;它不会告诉所涉及的表达式的值(假设使用的常量实际上是变量名):$python-c"assert6-(3*2)"[...]AssertionError在Python中是否有更好的assert实现更花哨?它不得引入额外的执行开销(断言失败时除外)..并且如果使用-O标志则必须关闭。编辑:我知道断言的第二个参数是一个字符串。我不想写一个..因为它是在被断言的表达式中编码的。DRY(不要重复自己)。 最佳答案 将您的函数安装为sys.excepthook--参见thedocs.你的函数,如果第二个参数是Asser

Python 自省(introspection) : access function name and docstring inside function definition

考虑以下python代码:deffunction():"Docstring"name=???doc=???returnname,doc>>>function()"function","Docstring"我需要用什么来替换问号,以便从同一函数中获取函数的名称和文档字符串?编辑:到目前为止,大多数答案都明确地将函数名称硬编码在其定义中。是否可以执行类似下面的操作,其中新函数get_name_doc将从调用它的外部框架访问该函数,并返回其名称和文档?defget_name_doc():???deffunction():"Docstring"name,doc=get_name_doc()re

introspection - Swift 类自省(introspection)和泛型

我正在尝试使用泛型动态创建一个基于class实例的类型,但是我在类自省(introspection)方面遇到了困难。问题如下:是否有与Obj-C的self.class等效的Swift?有没有办法使用NSClassFromString的AnyClass结果实例化一个类?有没有办法从通用参数T中严格获取AnyClass或其他类型信息?(类似于C#的typeof(T)语法) 最佳答案 好吧,一方面,[NSStringclass]的Swift等价物是.self(参见Metatypedocs,尽管它们很薄)。事实上,NSString.clas

Python自省(introspection): get the argument list of a method_descriptor?

作为我的问题介绍的代码说明:importre,inspect,datetimeinspect.getargspec(re.findall)#=>#ArgSpec(args=['pattern','string','flags'],varargs=None,#keywords=None,defaults=(0,))type(datetime.datetime.replace)#=>inspect.getargspec(datetime.datetime.replace)#=>Traceback(mostrecentcalllast):#File"",line1,in#File"/usr/

python - 在 PyGObject 自省(introspection)中,GTK w/Python 中的线程是否发生了变化?

我第一次将程序从PyGTK转换为PyGObject内省(introspection),我遇到了线程障碍。我有一个需要一些时间才能完成的过程,所以我弹出一个带有进度条的对话框,我使用一个线程来完成这个过程并更新进度条。这在PyGTK上运行良好,但在转换为PyGObject后,我​​得到了所有通常不正确的线程怪异:程序挂起,但它似乎卡在进程的不同部分等等。所以我觉得有些东西已经改变了,但我可以不知道是什么。这是一个简单的PyGTK进度条示例:http://aruiz.typepad.com/siliconisland/2006/04/threads_on_pygt.html如该页面所示,该