这应该工作:
@H_404_3@#!/usr/bin/python from AppKit import NSWorkspace activeAppName = NSWorkspace.sharedWorkspace().activeApplication()['NSApplicationName'] print activeAppName
仅适用于Leopard,如果安装了PyObjC,并且仅在第一行中指向正确的python二进制文件,则在Tiger上工作(如果您已经安装了通用Macpython,则可能要在Tiger上这样做)。但是Peter用Carbon的方式做这件事的答案可能会快很多,因为从Python中的AppKit导入任何内容都需要一段时间,或更准确地说,在Python流程中首次从AppKit导入内容需要一段时间。
如果您需要在PyObjC应用程序中使用它,那么我所描述的内容将非常有用且快速,因为您只经历了一次导入AppKit的滞后。如果您需要将其用作命令行工具,则会注意到性能下降。如果这与您相关,那么最好以Peter的代码为起点在Xcode中构建10行Foundation命令行工具。