私はこれについてあまりにも長い間考えてきましたが、何のアイデアも得られませんでした。
私はPythonスクリプトのフォルダーを持っています。それらはすべて同じ周囲の本体を持っています(文字通り、シェルスクリプトから生成しました)が、それらすべてとは異なるチャンクが1つあります。言い換えると:
Top piece of code (always the same)
Middle piece of code (changes from file to file)
Bottom piece of code (always the same)
そして今日、これは悪い考えであることに気づきました。たとえば、上部または下部のセクションから何かを変更したい場合は、それを行うためのシェル スクリプトを作成する必要があります。(それは難しいことではありません。コード的に非常に悪いようです)。
だから私がやりたいことは、次のような外側のpythonスクリプトを1つ持つことです:
Top piece of code
Dynamic function that calls the middle piece of code (based on a parameter)
Bottom piece of code
そして、フォルダー内の他のすべてのpythonファイルは、単にコードの中間部分になる可能性があります. ただし、通常のモジュールはここでは機能しません (私が間違っていない限り)。これは、引数から実行する必要があるコードを取得するためです。これは文字列であり、実行時まで実行する関数がわからないためです。 .
そこで、さらに 2 つの解決策を考えました。
- 特定のパラメーターに基づいて各スクリプトを実行する 1 つの if ステートメントを作成できます。以前のデザインよりもさらに悪いので、これを拒否しました。
私は使用できます:
os.command(sys.argv[0] scriptName.py)
スクリプトを実行しますが、 python を呼び出して python を呼び出すことは、私にはあまりエレガントではないようです。
では、他のアイデアはありますか?ありがとうございました。