每次改进代码时,由于流程和其他功能的重大结构变化,我保存并添加了新的数字...
所以当我使用代码时,它看起来像这样:
import custom3 as c
function = c.do_thing()
保存到custom4时,我将其更改为
import custom4 as c
function = c.do_thing()
非常简单的更新。
我的问题是我有许多使用import custom# as c
的脚本,因此在更新版本号时,我必须返回并在各处更改编号。
是否有一种方法可以对此进行集中控制?基本上是使用其他脚本动态导入库吗?我想我可以使用modules = map(__import__, moduleNames)
之类的东西并保留最新版本的电子表格?并编写脚本来每次都首先访问该文件?
有人能实施其他更优雅的方法吗?
答案 0 :(得分:2)
专业人员使用的方法不是为不同版本创建不同的模块,而是使用版本控制系统来管理和跟踪对同一模块的更改。
一个好的版本控制系统将执行以下操作:
允许您保留并查看模块更改的历史记录
允许您使用有意义的注释标记版本,例如
“开发”,“发布”
允许您从错误中恢复并更早恢复到另一个状态 版本而无需重写代码
允许您与其他开发人员共享您的工作。
有许多可用的版本控制系统,有些是专有许可的,而另一些则是免费的。 Git可能是当前最受欢迎的开源系统,并且可以从一个单独的开发人员扩展到一个庞大的团队。另外,Github已经提供了一个完整的代码共享生态系统。
在学习编程时,花点时间学习和使用版本控制。你不会后悔的。
答案 1 :(得分:0)
您可以使用importlib。
import importlib
version = "3"
c = importlib.import_module("custom"+version)
function = c.do_thing()
但是,是的,正如评论中所建议的那样,请使用某些文件版本控制系统,例如git。学习曲线有些陡峭,但是它将使您的生活更加轻松。