Включите скрипт Python в приложение OS X, но - PullRequest
2 голосов
/ 22 июня 2010

В настоящее время у меня есть скрипт, который я использую для обновления файлов из пары репозиториев.Сценарий работает нормально, если я выполняю его, используя:

python myscript.py

Однако, когда я пытаюсь вложить в приложение, он больше не работает правильно, потому что часть моего сценария требует ввода данных пользователем.Однако для его использования нет интерфейса.Я попытался связать его с py2applet, Platypus (с выводом текста), но я не смог найти способ заставить работать ввод.

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

Итак, мой вопрос:лучший способ получить пользовательский ввод из прилагаемого приложения Python?

Ответы [ 3 ]

2 голосов
/ 23 июня 2010

@ sudowork: А пока я пойду с твоим предложения, но ради обучение, есть ли способ пойти о первоначальном запросе?

Вы можете передавать аргументы в скрипт Python, чтобы вам не нужен скрипт Python для их фактического получения. Получите их в своем приложении какао вместо этого. Спросите входные данные в приложении какао, затем запустите скрипт python, используя NSTask, как и любую другую программу командной строки, и передайте аргументы. Вот как вы получаете переданные аргументы в скрипте Python. Первый аргумент можно получить с помощью этого ...

someVar = sys.argv[1]

Чтобы связать скрипт Python, просто добавьте его в свой проект. Убедитесь, что скрипт имеет шебанг и является исполняемым, как описано выше. Возможно, вам придется вручную принудительно добавить его в комплект приложений, добавив новую фазу сборки «copy files» и добавив в нее скрипт.

1 голос
/ 22 июня 2010

Какой лучший способ получить пользовательский ввод

Не связывайтесь с «связанным» приложением. Просто используйте командную строку.

Скажите пользователю, чтобы он открыл окно терминала и запустил ваше приложение из командной строки. Спасает всех много боли.

Пользователи не «нуждаются» в связанных приложениях. Они могут печатать. Попробуй.

0 голосов
/ 03 декабря 2015

Вы можете запросить ввод с помощью графического интерфейса через AppleScript.Просто вызовите / usr / bin / osascript, покажите окно с текстовым полем и верните его.

См. здесь для примера (хотя и в Perl)

...