1

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

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

具体来说,Gio.File.replace_contents_async()我发现 C 定义与 PyGI ( gio C docs )中的定义不匹配。我尝试过使用交互式 shell 并使用 help(Gio.File.replace_conents_async) 和 inspect.getargspec(...),但他们只是声明它需要 vargs。现在,我一直在放置虚拟参数,以查看打印了哪些警告或异常,以查看它需要哪些参数。

Gtk 文档并不完整,但我发现足以解决一些与之相关的问题。我使用 Ubuntu 的“快速”工具启动了这个应用程序,没想到使用 PyGI 进行开发会如此困难......缺乏文档,没有可查看的资源......

4

1 回答 1

0

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

>>> 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)'

使用 help(Gio.File.replace_conents_async) 似乎没有显示这一点。

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

于 2014-05-19T07:58:40.543 回答