如何从Python打开Windows协议处理程序URI

问题描述

Python脚本如何在窗口上调用支持的URI,例如im:sip:<colleague@company.com>(此示例打开一个chat / Skype窗口)?

我从命令提示符处了解以下工作,并完成了一些丑陋的""骇客操作,以允许使用<>尖括号。

start "" "im:sip:<colleague@company.com>"
cmd /c start "" "im:sip:<colleague@company.com>"

,但是subprocess.run(shlex.split(cmd))不支持这两个。第一个声称start.exe无法找到,第二个声称不会接受相同的输入(由于引用处理,我尝试了很多变体,但无法重现结果)。

总有比调用cmd更好的方法...

解决方法

我将发布自己的答案,但我希望那里有更多与平台无关的解决方案。

使用explorer.exe似乎可以解决问题

  subprocess.run(shlex.split("explorer im:sip:<colleague@company.com>"))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...