已经提出了其他语言的类似问题(C ,Clojure,Typescript,也许还有其他),但我仍在寻找Python的答案。
在Python中使用import
和global
有很多类似的问题,但是相关的答案不符合我的需求。我只想将一个大文件拆分为较小的文件,以轻松地在同一程序的不同版本中修改代码的部分,而无需处理不同的命名空间或管理全局变量。
一个简单的黑客完成我想做的是将运行时合并选定的Python文件与脚本合并,但我希望有一种Pythonic的方法。
有了插图,我要做的就是从几个几乎相同的大文件中进行:
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
-like命令,我可以在程序的1和2版本中立即共享first_part_common_to_both_versions.py
中的修改,如果我想进行新的修改,我只需要修改/复制较小的文件second_part_v2.py
/创建另一个新版本。
问题是:如何在Python中进行此include
?
只是为了避免关于良好软件开发实践的辩论,我使用Python作为解决科学问题的工具,因此,我更关心编辑舒适性而不是编码实践。
有一个查看exec或execfile:
" Python的Exec语句类似于导入语句, 重要区别:Exec语句在 当前名称空间。Exec语句不会创建新的名称空间。 我们将在称为" Exec语句"的部分中查看