0

Android ターミナルで python を実行し、以下を使用して .py ファイルを実行したいと考えています。

python /sdcard/myScript.py

問題は、Python が私の Android 環境で間接的に呼び出され、シェルが /system/bin/ パスにあることです (ターミナル エミュレーター経由で直接アクセスできるようにするため)。

私の正確な質問は、複数のシェル スクリプトを介して Python にパラメーターを渡す方法をタイトルがどのように示しているかということです。

/System/bin/ にある直接呼び出されたファイル「python」には、次のようなリダイレクトのみが含まれています。

sh data/data/com.hipipal.qpyplus/files/bin/qpython-android5.sh

pythonバイナリを呼び出すなど。

編集:

$1すべてのシェルの後にパラメーターを追加するだけで、Python は次のように呼び出されます。

sh data/data/com.hipipal.qpyplus/files/bin/qpython-android5.sh $1

呼び出すことが可能です

python /sdcard/myScript.py arg1

そして myScript.py でいつものようにフェッチしますsys.argv

ありがとう

4

2 に答える 2

0

私は Android プログラミングの経験がないので、一般的な推奨事項しか提供できません。

もちろん、素朴な解決策は、スクリプトからスクリプトに引数を明示的に渡すことですが、その間にスクリプトを変更することはできないか、変更したくないと思います。

私が時々使用する別のアプローチは、最も外側のスクリプトで環境変数を定義し、すべてのパラメーターをそれに詰め込み、Python から解析することです。

最後に、最も外側のスクリプトから「構成ファイル」を作成し、それを Python プログラムから読み取ることができます。このファイルを Python 構文で作成すると、コードの解析から解放されます。

于 2016-03-11T08:21:25.567 に答える