将python脚本捆绑到OS X App中,但是

时间:2010-06-22 10:16:10

标签: python macos app-bundle

我目前有一个脚本,我用它来为几个存储库更新文件。如果我使用:

执行它,脚本工作正常
python myscript.py

但是,当我尝试捆绑到应用程序时,它不再正常运行,因为我的脚本的一部分需要用户输入。但是,它没有接口可供使用。我已经尝试将它与py2applet,Platypus(带有Text输出)捆绑在一起,但是我还没有找到一种方法来获得输入。

someVar = raw_input("Enter some file name here: ")

所以,我的问题是:从捆绑的python应用程序获取用户输入的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

  

@sudowork:现在,我会和你一起去   建议,但为了   学习,有没有办法去   关于原始请求?

您可以将参数传递给python脚本,这样您就不需要python脚本来实际获取它们。将它们放入您的可可应用程序中。在cocoa应用程序中询问输入,然后像使用任何其他命令行程序一样使用NSTask运行python脚本并传入参数。以下是如何在python脚本中获取传递的args。第一个arg可以用这个......

someVar = sys.argv[1]

要捆绑python脚本,只需将其添加到项目中即可。确保脚本具有shebang并且可执行,如上所述。您可能必须通过添加新的“复制文件”构建阶段并将脚本添加到该应用程序包中来手动强制将其添加到您的应用程序包中。

答案 1 :(得分:1)

  

获取用户输入的最佳方式是什么

不要乱用“捆绑”应用。只需使用命令行。

告诉您的用户打开终端窗口并从命令行运行您的应用程序。给每个人带来很多痛苦。

用户不需要“捆绑”应用。他们可以类型。试试吧。

答案 2 :(得分:0)

您可以通过AppleScript使用GUI提示输入。只需调用/ usr / bin / osascript,显示一个带有文本字段的窗口并将其返回。

请参阅here for an example(尽管在Perl中)