У меня есть полу-большое приложение python, которое работает на linux. Я пытаюсь настроить его, чтобы я мог прочитать файл конфигурации при запуске программы, а затем сохранить эти значения для использования в любое время во время работы приложения, не перечитывая файл конфигурации.Как передать глобальные переменные между файлами в python
Так что я пытаюсь загрузить класс configValues в своем первом modual, test.py. И прочитайте установленные значения. Затем в этом примере снова прочитайте значения в test2.py.
Я никогда не получаю значения. Кто-нибудь может мне помочь?
Config.py
class config():
def __init__(self):
configFile = File(myPath)
if configFile.exist():
myXML = str(configFile.openAndRead())
def setupValues(self):
configValues.color = self.getElement('color')
def getElement(self, element):
tree=et.fromstring(self.myXML)
for el in tree.findall('head'):
for ch in el.findall(element):
return ch.text
class configValues():
def __init__(self):
global color
test.py
import config
class test():
def __init__(self):
configObj = config.Config()
configVal = config.configValues()
configObj.setupValues()
print configVal.color
test2.py
import config
class test2():
def __init__(self):
configVal = config.configValues()
print configVal.color
Попробуйте сделать 'color' [переменной класса] (http://stackoverflow.com/questions/68645/static-class-variables-in-python). – jojonas
Ваш отступ нуждается в фиксации. –
stackoverflow не отображает код правильно, когда я попытался изменить отступ здесь. Прекрасно работает в моем действительном коде. –