Python py appscript正在启动一个新的Finder实例

Python py appscript正在启动一个新的Finder实例,python,applescript,Python,Applescript,我有一个py2app应用程序,它使用py-appscript运行appscript。Applescript代码如下所示: app('Finder').update() 这通常是在Finder中更新文件的预览。除了Leopard,它大部分时间都能工作。在Leopard中,每次执行脚本时,它都会启动一个新的Finder实例,而不是更新文件。我做错了什么?该应用程序是在同一台机器(Leopard)上构建的。鉴于py appscript是python和通过Applescript编写脚本的应用程序之间的一

我有一个py2app应用程序,它使用py-appscript运行appscript。Applescript代码如下所示:

app('Finder').update()


这通常是在Finder中更新文件的预览。除了Leopard,它大部分时间都能工作。在Leopard中,每次执行脚本时,它都会启动一个新的Finder实例,而不是更新文件。我做错了什么?该应用程序是在同一台机器(Leopard)上构建的。

鉴于py appscript是python和通过Applescript编写脚本的应用程序之间的一个层,我建议将该语句移植到纯Applescript,看看它是否在那里工作。Applescript(以及您自己的声明)一开始可能会出现很多问题,而且当出现错误时,py appscript的预期效果并不明显。

答案不是这样,但您的建议为我指明了正确的方向。我试着在AppleScript中运行它,它重现了这个问题!检查日志,发现有多个用户登录。Applescript使用较低的进程ID值访问Finder实例(因此给我一个“权限被拒绝”错误)。我修改了脚本,通过其进程ID指定用户的Finder实例,现在它工作正常。奇怪的是这只发生在Leopard身上。我知道这不是一个正确的答案,我真的没有答案,但我希望我的建议能引导你走上正确的道路。用Applescript和Leopard改变了很多东西,用Snow Leopard又改变了一些东西,但我一直无法找到这些变化到底是什么。这就是Applescripter的生活。干杯