如何在OS X系统上将文件拖放至(Python)脚本中?

9
有没有办法配置最近的OS X系统,使python脚本自动作为拖放目标行为?如果没有,那么最轻量级的方式是什么(理想情况下可编程),以配置单个脚本实现此行为?
在Windows上,我可以简单地将文件拖放到python脚本上,然后会启动一个python进程,并且所拖放的参数的完整路径名可在sys.argv中使用。令人惊讶的是,在OS X上,这种情况不会发生,似乎也没有任何方法可以自动配置系统来实现这一点。我找到的所有解决方案都涉及将每个脚本包装在应用程序中。
当然,这个问题已经被问过和回答过了。但是,我能找到的每一个答案都仅限于一次为一个脚本启用拖放(通过将应用程序包装在它们周围);而且似乎所有答案都已经过时和/或依赖于损坏的链接。以下是一些示例:

正如提到的那样,它们似乎都不再起作用。我使用的是OS X 10.8 Mountain Lion,并且我没有看到任何可以在后续OS版本上使用的东西。有最新的解决方案吗?

PS: 概念上,这个问题不一定局限于Python:我相信任何适用于shell或perl脚本的机制也适用于Python。但鉴于在OS X上这似乎很困难,我将问题保持特定,因为这是我的用例,并且我见过的所有解决方案似乎都是特定于语言的。

1个回答

5
您看过这个答案吗?尝试使用Mac OS X Automator(在当前和过去的操作系统版本中都可用 - 我刚在Yosemite中测试了此操作)。至于“逐个”与“多个”,同一主题的这个SuperUser帖子解释了如何处理多个文件。

归根结底,“拖放支持”是窗口系统的功能,与Python无关。话虽如此,您可以在Python中构建OS X GUI应用程序,这可能是另一个解决方案。查看此链接了解有关Python中GUI应用程序的更多信息。


1
谢谢,我得再看一下。很久以前看过,不记得遇到了什么问题。但是让我们说这应该是窗口系统的一个功能...显然,OS X的设置还有很多需要改进的地方,而且有一些特定于Python的方法来包装应用程序... - alexis
如果你成功了,记得回来报告一下,因为其他人,包括我自己,也会从中受益。Automator听起来像是标准的MacOS方式,但你也可以用任何语言构建一个简单的OS X应用程序来完成它。显然,对于本地应用程序,你只需要在应用程序的plist中配置一些东西就可以了。 - Will

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接