ich bin mir nicht sicher, was genau diese Variablen sind, Konstanten oder globale Variablen. Und zwar will ich auf dem Raspberry Pi ein Skript aktuell so umbauen, dass es seine Konfiguration aus einer Yaml-Datei liest und nicht mehr hart kodiert in dem Skript steht.
Hier ein verallgemeinerter Skript-Ausschnitt:
Code: Alles auswählen
import yaml
CONFIG_1 = ''
CONFIG_2 = ''
def init_config():
configs = read_yaml('config/cfg.yml')
CONFIG_1 = configs['config_1']
CONFIG_2 = configs['config_2']
def read_yaml(yaml_file):
with open(yaml_file) as cfg:
return yaml.safe_load(cfg)
def do_something():
# I'm using the CONFIG_1 and CONFIG_2 variable but it's empty
def main(prompt):
try:
init_script()
do_something()
except KeyboardInterrupt:
pass
finally:
logging.info('Finishing script')
Was muss ich denn machen, um die Werte nicht in alle Prozeduren als Parameter geben muss, sondern sie in solche "globalen" (die skriptweit verfügbar sind) Variablen / Konstanten schreiben kann?
Vielen Dank und viele Grüße