У нас тут проект на джанге и мне нужно организовать с ним такие чисто системные действия, как деплой, бекап, старт-стоп, мониторинг… Одним словом – чисто системные вещи, которые проще писать на баше, чем на питоне.
Так как мне для этого нужны некоторые значения из конфига проекта, я написал такой скрипт:
#!/usr/bin/env python2.6
# coding: utf-8
u"""Вытягиваем из конфига значение интересующей нас переменной"""
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
import config
USAGE = """get_config_value.py [attr]"""
if __name__=="__main__":
if len(sys.argv) == 1:
for key in sorted(k for k in dir(config) if not k.startswith('__')):
print key
elif len(sys.argv) == 2:
try:
sys.stdout.write(str(getattr(config, sys.argv[1])) + '\n')
except AttributeError:
sys.stderr.write("Attribute is not exists.\n")
sys.exit(1)
elif len(sys.argv) > 2:
sys.stderr.write(USAGE)
sys.exit(1)
sys.exit(0)
. script_with_environ.bash
А вот как мне сделать такое с питоним скриптом?
Я пробовал править из скрипта os.environ и вызывать его из баша, но это ни к чему не привело.
P.S. Linux.