2

我目前有一个脚本,用于为我从几个存储库更新文件。如果我使用以下方法执行脚本,则该脚本可以正常工作:

python myscript.py

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

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

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

4

3 回答 3

2

@sudowork:现在,我会接受你的建议,但为了学习,有什么办法可以处理最初的请求吗?

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

someVar = sys.argv[1]

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

于 2010-06-23T06:52:45.047 回答
1

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

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

告诉您的用户打开终端窗口并从命令行运行您的应用程序。为大家省去了很多痛苦。

用户并不“需要”捆绑的应用程序。他们可以打字。试试看。

于 2010-06-22T10:21:15.100 回答
0

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

请参阅此处的示例(尽管在 Perl 中)

于 2015-12-03T14:15:59.397 回答