查找内省方法的函数参数规范

时间:2012-07-01 07:00:30

标签: python introspection pygobject

我正在开发一个使用PyGI的应用程序 - 通过GObject内省的Python 2.7和GTK + 3.

如何找到使用内省调用的函数的函数参数和参数类型?

具体来说,Gio.File.replace_contents_async()。我发现C定义与PyGI(gio C docs)中的定义不匹配。我已经尝试使用交互式shell并使用帮助(Gio.File.replace_conents_async)和inspect.getargspec(...),但他们只是说它需要vargs。现在,我继续放置虚拟参数,以查看打印的警告或异常,以查看它需要什么参数。

Gtk文档不完整,但我发现足以解决与之相关的一些问题。 我使用Ubuntu的“快速”工具启动了这个应用程序,并且不希望PyGI的开发变得如此困难......缺乏文档,没有任何来源可供查看......

1 个答案:

答案 0 :(得分:0)

较新版本的PyGI(> = 3.10)具有包含参数名称和类型的doc字符串:

>>> from gi.repository import Gio
>>> Gio.File.replace_contents_async.__doc__
'replace_contents_async(self, contents:list, etag:str=None, make_backup:bool,
flags:Gio.FileCreateFlags, cancellable:Gio.Cancellable=None,
callback:Gio.AsyncReadyCallback=None, user_data=None)'

使用帮助(Gio.File.replace_conents_async)似乎没有显示出来。

还有一些非常好的Python特定文档可用于存储库: http://lazka.github.io/pgi-docs/#Gio-2.0/interfaces/File.html#Gio.File.replace_contents_async

相关问题