在Xcode或类似工具中创建基于Python的应用程序是否可行?

3 投票
3 回答
4108 浏览
提问于 2025-04-17 19:27

我写了很多Python脚本用于我的工作,但我实验室里没有人会用Python。所以我想制作一个简单的Mac应用程序,让大家可以“浏览”电脑里的文件,并输入想要保存的文件名……其他的事情就由这个应用程序来处理我写的Python脚本。

有没有人知道这样做是否可行?我看过一些教程,教人们用Xcode和Objective C生成应用程序,但我不想为了重构我的Python脚本而去学习一门新语言。

谢谢!

3 个回答

1

对我来说,最简单的方法就是使用OSX自带的Automator程序。首先创建一个新的应用程序,然后在工具类别中选择“运行Shell脚本”。在弹出的窗口顶部,你会看到一个选项是/usr/bin/python,把你的Python放进去。你可以通过“请求文本”等项目来连接这个脚本的输入和输出。

从“请求文本”获取的输入,如果你在“运行Shell脚本”模块右侧的“传递输入”下拉菜单中选择“作为参数”,会更容易。它们会以字符串列表的形式传入,但不会像普通行那样以空格分隔。

试试这个代码,我想你会明白的(在这个测试中,把几个用空格分开的字符串作为你传入的文本值):

import sys

print sys.argv
items = sys.argv[1:][0].split()

for f in items:
    print f
1

如果你只想在OS X上运行这个程序,可以使用pyobjc(详细信息见https://stackoverflow.com/a/2393530)来开发一个Cocoa应用。不过,Python还有很多跨平台的图形界面框架,这些框架不仅可以在OS X上使用,也能在其他操作系统上运行。

0

打开Automator应用程序

选择“应用程序”选项

把“运行Shell脚本”拖到工作流程面板上

选择“/usr/bin/python”作为脚本的类型。把你的脚本粘贴进去,然后选择输入方式为“传递输入:到stdin”

或者,你也可以选择bash作为脚本类型,然后让Automator脚本运行你的Python脚本,选择右上角的“传递输入:作为参数”。这样你就可以用$@里的内容作为参数了。

保存这个应用程序。

完成了。你现在有一个可以拖放文件的.app应用。

撰写回答