如何使用 Python Appscript 调用自定义脚本添加?

发布于 2024-08-08 23:28:24 字数 59 浏览 15 评论 0原文

假设我添加了新的脚本,appscript 是否可以识别它们,以及如何使用 appscript 调用它们?

Assuming I have a new scripting addition, does appscript recognize them, and how do you invoke them using appscript?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月寒剑心 2024-08-15 23:28:24

使用 osax 模块。示例:

import osax

print osax.scriptingadditions() # lists installed scripting additions

standardadditions = osax.OSAX() # uses built-in StandardAdditions.osax (the default)
print standardadditions.random_number(from_=1, to=10)

satimage = osax.OSAX('Satimage') # uses 3rd-party Satimage.osax from satimage-software.com
print satimage.hypot([3, 4])

使用 ASDictionary 以 appscript 格式导出脚本附加术语。

OS X 10.6 警告:osax 模块只能在 32 位进程中动态检索脚本附加术语。如果您将术语导出为静态粘合模块并导入它,则可以在 64 位进程中使用它,但它很繁琐。顺便说一句,大多数第三方 osaxen 尚不支持 64 位,因此您也需要注意这一点。

就我个人而言,在使用脚本添加之前,我会尝试找到一个原生的 Python 解决方案,因为 osaxen 无论如何都非常讨厌。 YMMV。

Use the osax module. Examples:

import osax

print osax.scriptingadditions() # lists installed scripting additions

standardadditions = osax.OSAX() # uses built-in StandardAdditions.osax (the default)
print standardadditions.random_number(from_=1, to=10)

satimage = osax.OSAX('Satimage') # uses 3rd-party Satimage.osax from satimage-software.com
print satimage.hypot([3, 4])

Use ASDictionary to export scripting addition terminology in appscript format.

OS X 10.6 caveat: The osax module can dynamically retrieve scripting addition terminology in 32-bit processes only. It is possible to use it in 64-bit processes if you export the terminology as a static glue module and import that, but it's fiddly. BTW, most third-party osaxen don't yet support 64-bit, so you'll need to watch for that as well.

Personally, I would try finding a native Python solution before using resorting to scripting additions as osaxen are pretty nasty anyway. YMMV.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文