他の言語(C++、Clojure、TypeScript、多分その他)についても同様の質問がありましたが、まだPythonの回答を探しています。同じ名前空間を共有する複数のファイルでPythonスクリプトを分割する
import
とglobal
をPythonで使用することに関連する多くの類似の質問がありますが、関連する回答が私のニーズに合っていません。大きなファイルを小さなファイルに分割して、異なる名前空間を処理したり、グローバル変数を管理したりすることなく、同じプログラムの異なるバージョンのコードの一部を簡単に変更/再利用したいだけです。
実行したいPythonファイルを実行時にスクリプトとマージするのが簡単なことですイラスト付き
、私は何をしようとしていますほとんど同じで、いくつかの大きなファイルから起こっている:
big_file_v1.py
## First part
# Hundreds of code lines to define things, make computations...
## Second part
# More code to do a few additional things
big_file_v2.py
## First part
# Exactly the same first part as in big_file_v1.py
## Second part
# A lot of small differences compared to big_file_v1.py
...いくつかの小さなファイルには、大部分が変更を必要としませんこの第二で
myprog_v1.py
include first_part_common_to_both_versions.py
include second_part_v1.py
myprog_v2.py
include first_part_common_to_both_versions.py
include second_part_v2.py
:私だけが異なるバージョンのすべてにわたって共有したいの変更を必要とするエーションまたは場合、include
のようなコマンドを使用して、私は瞬時にで行われた変更を共有することができます私のプログラムのバージョン1と2の間のと私はちょうど私が新しい修正をしたい/別の新しいバージョンを作成したい場合は小さいファイルsecond_part_v2.py
を変更/コピーする必要があります。
質問:これを行う方法include
Pythonで?
良いソフトウェア開発の慣行に関する議論を避けるために、私は科学的な質問を解決するためのツールとしてPythonを使用しています。
私はdownvoteの説明をしたいと思います。 Pythonで? – Falken
としてmu私たちは良い質問をしたいと思っています。だれかがそれを間違って説明しなければならない。一方、[MCVE](https://stackoverflow.com/help/mcve)によれば、あなたは新しいものです。あなたの問題を具体的な例を使って親切に説明することができれば、それは私たちがそれを理解するのに役立つでしょうあなたはすぐに答えを得ることができます。私はこれが人があなたを落胆させた理由かもしれないと思う。私はあなたの質問を編集することを希望して、あなたのためにそれを返信しました。どうもありがとう。 – stucash
分離したファイルごとにメインファイルの 'from other_file import *'を実行しますか? – Graipher