Men*_*hak 8 python pygobject gio
如果GSettings模式存在且已编译,则从中读取通常没有问题.但是,如果它不存在,通常会抛出一个无法处理的错误.在Python文件或控制台中尝试:
from gi.repository import Gio
try:
settings = Gio.Settings("com.example.doesnotexist")
except:
print "Couldn't load those settings!"
Run Code Online (Sandbox Code Playgroud)
我正在尽可能广泛地使用except,但这是抛出的错误.
(进程:10248):GLib-GIO-ERROR**:未安装设置架构'com.example.doesnotexist'
我基本上想要做的是找出com.example.doesnotexist架构是否存在; 如果没有,那么告诉用户在使用我的应用程序之前运行我的安装脚本.关于这样做的任何其他建议都是受欢迎的.
您可以使用GSettingsSchemaSource.例如:
> from gi.repository import Gio
> source = Gio.SettingsSchemaSource.get_default()
> source.lookup("org.gnome.Epiphany", True)
<GSettingsSchema at 0xa462800>
> source.lookup("com.example.doesnotexist", True)
>
Run Code Online (Sandbox Code Playgroud)
根据文档,如果模式不存在,查找应返回NULL(None),但在PyGObject中返回NoneType.无论如何,您可以使用它来检查架构是否存在.
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |