Я недавно начал использовать ConfigParser () для моих скриптов на python, чтобы добавить к ним некоторые функциональные возможности для конфигурационных файлов.Я знаю, как его использовать, но у меня есть проблема.Мой скрипт должен запускаться от имени пользователя root с использованием sudo.Файлы конфигурации находятся в ~/.config/scriptconfig/
, но когда вы запускаете скрипт как sudo, он временно меняет пользователей на root, поэтому он не находит файлы конфигурации.Я хочу получить конфигурационный файл эффективного пользователя, чтобы он захватывал /home/myuser/.config/scriptconfig/config.cfg
вместо /root/.config/scriptconfig/config.cfg
, которого не существует.
Мне нужен сценарий, чтобыспособен работать на разных машинах, а не только на моей.Поэтому мне нужно получить домашний каталог эффективного пользователя
Вот пример кода, который я пытаюсь использовать:
<code>
import os, ConfigParser
config = ConfigParser.RawConfigParser()
homepath = os.path.expanduser("~/")
configpath = homepath + ".config/scriptconfig/config.cfg"
config.read(configpath)
get = config.get('Config', 'Example')
print get
Он должен вывести значение
example
из конфигурациифайл, но при запуске от sudo путь
/home/root
, поэтому он не находит файл конфигурации.