Центральный контроль импорта разных версий скрипта, пока я коплю

1

Поскольку я каждый раз улучшаю свой код, для больших структурных изменений потока и других функций я сохраняю и добавляю новый номер...

поэтому, когда я использую код, он выглядит так:

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
    Привет, Джейсон. Нет никакой необходимости обновлять имя файла или модуля импорта каждый раз, когда вы вносите изменения и т. Д., Просто отследите это в файле readme.txt или в другом объяснении для вашего проекта.
  • 1
    Обычно вы, вероятно, использовали бы git для контроля версий. Нет необходимости постоянно обновлять имена модулей для каждого изменения, импорт, как правило, остается прежним, а содержимое этих модулей обновляется обратимым образом.
Теги:
python-import

2 ответа

2
Лучший ответ

Способ сделать это, что профи используют не для создания разных модулей для разных версий, а для использования системы управления версиями для управления и отслеживания изменений в том же модуле.

Хорошая система контроля версий будет выполнять следующие действия:

  • позволяют сохранять и просматривать историю изменений в вашем модуле

  • позволяют отмечать ваши версии значимой аннотацией, например
    "развивать", "выпускать",

  • позволяют вам оправиться от ошибок и вернуться к другой более ранней версии без необходимости переписывать код

  • позволяют вам делиться своей работой с другими разработчиками.

Существует множество систем управления версиями, некоторые из них являются собственностью лицензированных, но другие доступны бесплатно. Git, вероятно, является самой популярной системой с открытым исходным кодом на данный момент и может масштабироваться от одинокого разработчика до большой команды. Кроме того, в Github уже есть целая экосистема обмена кодами.

Когда вы изучаете программирование, уделите время изучению и использованию контроля версий. Вы не пожалеете об этом.

  • 0
    Хорошо. это совместимо с блокнотом ++? Мне не нравятся IDE.
  • 1
    Контроль версий действительно не зависит от выбора редактора. Многие IDE интегрируются с Git, но вы можете управлять Git из командной строки, если вы предпочитаете это делать.
0

Вы можете использовать importlib.

import importlib
version = "3"
c = importlib.import_module("custom"+version)

function = c.do_thing()

Но да, как было предложено в комментариях, используйте некоторую систему управления версиями файлов, например git. Кривая обучения немного крутая, но это сделает вашу жизнь намного проще.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню