LINUX.ORG.RU

Расскажите про пистон import


0

1

Привет.
Нужно скриптик конфигурационный изменить.
В скриптике есть список с разными конфигурациями. Конфигурация будет известна на момент компиляции, поэтому думаю создать файлы config1.py, config2.py и т.п. и в момент компиляции переименовывать один из них в config.py, а затем подключать его в основном скрите, (На пистоне не писал, поэтому присоветуйте лучший способ, если так не делают обычно).
Вот тут http://docs.python.org/2/tutorial/modules.html прочитал, что import ищет в системных директориях и текущей. А чтобы подключить файл из дочерней директории, нужно проделать пару workaround'ов. Назрел вопрос, проекты на питоне обычно все в одной директории располагаются что ли?
Спасибо.

★★★★★

Ответ на: комментарий от x3al

А можно ли как-то без __init__.py обойтись? У меня не питоновское приложение, мне просто убрать бы значения по-умолчанию с верхнего уровня. Т.е. на верхнем уровне хочется только мой скрипт иметь.

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

main.py

#!/usr/bin/python

def get_config(a):
  import imp
  return imp.load_source("config","configs/config{0}.py".format(a))

config = get_config(2)

print config.version()
configs/config2.py
def version():
    return "config2"

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.