0

C:\Desktop\A に Python スクリプト「cost_and_lead_time.py」があります。このスクリプトは、他の 3 つのスクリプトと「cost_model.json」ファイルをインポートします。これらはすべてフォルダー A にあります。

今、たとえば C:\Desktop\Model\Results にシミュレーション結果があります。このフォルダに「call C:\Desktop\A\cost_and_lead_time.py」という 1 行のバッチ ファイルがありますが、cost_model.json ファイルを開こうとするとエラーが返されます。json が開かれる前に他の 3 つのスクリプトが表示されるため、これらのスクリプトのインポートに問題はないようです。

私の質問は、この cost_model.json ファイルをそのディレクトリに保持し、json ファイルをコピーして結果フォルダーに貼り付けずにバッチ ファイルを介してスクリプトを実行する方法はありますか? 私が考えることができる唯一の方法は、Pythonスクリプトでファイルのフルパスをハードコーディングすることですが、それは私にとって理想的ではありません. Pythonスクリプトではなく、バッチファイルに追加するコードを探しています。

ありがとう

4

2 に答える 2

0

最終的には、何を処理する必要があるかをスクリプトに伝える何らかの方法が必要です。それにはさまざまな方法がありますが、実際にはそれが起こる必要があります。バッチ ファイルで行う最も明白なことは、Python スクリプトを実行する前にターゲット ファイルを所定の場所にコピーすることだと思います。

ただし、よりクリーンな解決策は、処理する必要があるファイルをスクリプトに伝えるコマンドライン引数を (sys.argv を介して) Python スクリプトに取り込むことです。

于 2013-07-26T17:16:10.307 に答える