2

現在、いくつかのリポジトリからファイルを更新するために使用しているスクリプトがあります。次を使用してスクリプトを実行すると、スクリプトは正常に動作します。

python myscript.py

ただし、アプリにバンドルしようとすると、スクリプトの一部でユーザー入力が必要になるため、正しく機能しなくなります。ただし、使用するインターフェイスはありません。py2applet、Platypus (テキスト出力付き) にバンドルしようとしましたが、入力を機能させる方法を見つけることができませんでした。

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

だから、私の質問は: バンドルされた python アプリからユーザー入力を取得する最良の方法は何ですか?

4

3 に答える 3

2

@sudowork: 今のところ、私はあなたの提案で行きますが、学習のために、元の要求について何か方法はありますか?

引数を python スクリプトに渡すことができるので、実際に引数を取得するために python スクリプトは必要ありません。代わりに、ココア アプリでそれらを入手してください。ココア アプリで入力を要求し、他のコマンド ライン プログラムと同じように NSTask を使用して Python スクリプトを実行し、引数を渡します。Pythonスクリプトで渡された引数を取得する方法は次のとおりです。最初の引数はこれで取得できます...

someVar = sys.argv[1]

Python スクリプトをバンドルするには、プロジェクトに追加するだけです。スクリプトにシバンがあり、上記で説明したように実行可能であることを確認してください。おそらく、新しい「ファイルのコピー」ビルド フェーズを追加し、それにスクリプトを追加して、アプリ バンドルに手動で追加する必要があります。

于 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 に答える