如何使用系统浏览器打开文件?
How to open a file with the system's webbrowser?
我创建了一个创建 html 文件的函数。如何在用户系统的浏览器中打开?
在 python 中,我将导入 webbrower,然后调用 webbrowser.open("file.html")。
如何在精灵中实现相同的结果?
linux 的一个可能选项是:
Process.spawn_command_line_async ("sensible-browser file.html")
Python webbrowser
模块是打开浏览器的跨平台方式 window。我不知道 Genie 或 Vala 有类似的跨平台模块,因此您将不得不使用特定于平台的命令。
在基于 Linux 的平台上 xdg-open
是跨桌面以标准方式打开应用程序的命令。这应该适用于 Gnome、KDE、XFCE 和其他的现代版本。
从 GLib 2.40 开始,在 Genie 中打开外部命令的首选方法是使用 GLib GIO 的 GSubprocess。在精灵中,这将是这样的:
init
try
var command = new Subprocess( SubprocessFlags.NONE,
"xdg-open",
"http://whosebug.com/tags/genie/"
)
command.wait()
except error:Error
print error.message
这个需要用GIO包编译:
valac --pkg gio-2.0 my_xdg_open_example.gs
上面的例子是等待命令完成,GSubprocess可以异步使用。您还可以轻松访问 STDIN、STDOUT 和 STDERR。参见 Subprocess - Valadoc and SubprocessFlags - Valadoc
这也可用于在 Web 浏览器中打开本地文件,只要该文件的 MIME 类型已配置为在浏览器中打开。 HTML 个文件应该没问题。
我创建了一个创建 html 文件的函数。如何在用户系统的浏览器中打开?
在 python 中,我将导入 webbrower,然后调用 webbrowser.open("file.html")。
如何在精灵中实现相同的结果?
linux 的一个可能选项是:
Process.spawn_command_line_async ("sensible-browser file.html")
Python webbrowser
模块是打开浏览器的跨平台方式 window。我不知道 Genie 或 Vala 有类似的跨平台模块,因此您将不得不使用特定于平台的命令。
在基于 Linux 的平台上 xdg-open
是跨桌面以标准方式打开应用程序的命令。这应该适用于 Gnome、KDE、XFCE 和其他的现代版本。
从 GLib 2.40 开始,在 Genie 中打开外部命令的首选方法是使用 GLib GIO 的 GSubprocess。在精灵中,这将是这样的:
init
try
var command = new Subprocess( SubprocessFlags.NONE,
"xdg-open",
"http://whosebug.com/tags/genie/"
)
command.wait()
except error:Error
print error.message
这个需要用GIO包编译:
valac --pkg gio-2.0 my_xdg_open_example.gs
上面的例子是等待命令完成,GSubprocess可以异步使用。您还可以轻松访问 STDIN、STDOUT 和 STDERR。参见 Subprocess - Valadoc and SubprocessFlags - Valadoc
这也可用于在 Web 浏览器中打开本地文件,只要该文件的 MIME 类型已配置为在浏览器中打开。 HTML 个文件应该没问题。