Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2011 22:09:08

sinopteek
От:
Зарегистрирован: 2009-09-28
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Демон и рабочая директория

Написал демона.
Создал etc/init.d/my_daemon с запуском интерпритатора

python /working/dir/code.py
Запускается, импортирует модули из папки в которой находится, а файлы(конфиги) которые находятся в этой же дирректории видеть отказывается.
IOError: Error reading file ‘config.xml’: failed to load external entity “config.xml”
Подобное проявляется и при простом запуске python /working/dir/code.py. Хотя если запускаю непосредственно из папки в которой всё лежит, то проблем нет.
Как указать интерпритатору рабочую директорию?

p.s. можно, конечно, прописать в /etc/init.d/my_daemon
cd /working/dir
python code.py
но что-то мне подсказывает, что есть вариант проще и красивее



Офлайн

#2 Июль 18, 2011 22:12:25

kachayev
От:
Зарегистрирован: 2011-07-08
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Демон и рабочая директория

А чем второй вариант не устраивает? для демон-процессов это нормальная практика предварительного перехода в указанный рабочий каталог.



Офлайн

#3 Июль 18, 2011 22:12:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Демон и рабочая директория

потому что файлы ищет в рабочей директории а модули по pythonpath относительно текущего модуля

есть такая переменная __file__.



Отредактировано (Июль 18, 2011 22:15:01)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version