0

Python プログラムで使用する bash スクリプトがいくつかあります。現在の解決策は、GUI でファイルを参照してから、次のようにスクリプトを実行することです (pathToScriptはスクリプトへのパスの文字列です)。

INPUT = [pathToScript, input1, input2, input3, input4, input5, input6, input7, input8, input9, input10]
subprocess.call(INPUT)

常にスクリプトを参照したり、パスをハードコーディングしたりしないようにするために、コンパイルされた Python プログラムに何らかの方法で bash スクリプトを含め、プログラム内で実行するソリューションを探しています。これは可能ですか?回避できるのであれば、bash スクリプトを Python に書き直したくありません。

4

2 に答える 2

3

いつでも bash スクリプトをプログラムの残りの部分にバンドルし (すでに行っていると思われるように)、実行時にこれらのスクリプトへのパスを再構築できます。

モジュール自体から任意の python モジュールの場所を取得し、そこから bash スクリプトへのパスを作成するのは簡単です。

import os.path

LOCATION = os.path.dirname(os.path.abspath(__file__))
pathToScript = os.path.join(LOCATION, 'bashscript.sh')

現在の Python モジュールと同じディレクトリにpathToScriptあるファイルへの絶対パスになります。bashscript.sh

于 2013-03-20T10:39:51.980 に答える
-2

各 bash スクリプトの実際のテキストを複数行の文字列変数に入れ、それぞれをファイルに書き出すことができます。ファイルをどこに書き込むかがわかるので、スクリプトを呼び出すことができます。

スクリプトの実行権限を設定するか、または bash へのパスを最初の項目として明示的に挿入してください。INPUT

于 2013-03-20T10:39:33.140 に答える