使用ScriptingBridge时隐藏Python火箭停靠图标

我正在使用ScriptingBridge检索当前在iTunes,Mac OS X中播放的曲目.

from ScriptingBridge import SBApplication
iTunes = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")
print iTunes.currentTrack().name()

但是,当我运行最后一行,实际获取轨道名称时,一个应用程序出现在Dock中,并且在我关闭我的Python程序之前不会离开,无论我是在REPL中运行还是作为脚本运行.图标就是这个,至少在我的机器上:

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/Resources/pythoninterpreter.icns

该脚本运行良好,我可以通过SB从iTunes获取所需的所有信息.我只想保持图标弹出.为什么该特定方法调用调用停靠图标?

最佳答案
将它从码头上移除的一种hacky方法是阻止Python.app出现在扩展坞上:

编辑/System/Library/Frameworks/Python.framework/Versions/Current/Resources/Python.app/Contents/Info.plist并将此键值对添加到主< dict>元件:

lsuielement

我希望有另一种方法可以做到这一点,因为这种变化是全局性的 – 没有Python脚本(使用系统Python)将会出现在具有此设置的Dock上.自发布此问题以来,我已将lsuielement设置为0,因为没有其他方法可以抓取,例如,matplotlib生成的窗口,除非它在Dock中有一个图标.

相关文章

在前一篇博客中我们介绍了加侧旋的乒乓球弧圈技术的模拟,本...
在近期conda的版本更新中,有可能会删除路径下的_sysconfigd...
本文主要展示了一些lambda表达式的使用示例,通过这些示例,...
本文通过对比Jax和Numpy计算Normalized Hamming Distance的过...
我们知道GPU加速在可并行化程度比较高的算法中,能够发挥出比...
Numpy这个库在Python编程中非常的常用,不仅在性能上补足了P...