Wie übergibt man eine Liste als eine Umgebungsvariable?
Ich die Verwendung einer Liste als Teil eines Python-Programm, und wollte konvertieren, die auf eine Umgebungsvariable.
So, es ist so:
list1 = ['a.1','b.2','c.3']
for items in list1:
alpha,number = items.split('.')
print(alpha,number)
gibt mir, wie erwartet:
a 1
b 2
c 3
Aber wenn ich versuche, es als eine environment-variable:
export LIST_ITEMS = 'a.1', 'b.2', 'c.3'
und tun:
list1 = [os.environ.get("LIST_ITEMS")]
for items in list1:
alpha,number = items.split('.')
print(alpha,number)
Bekomme ich eine Fehlermeldung: ValueError: too many values to unpack
Wie kann ich ändern, wie komme ich an der Liste, oder bekommen Sie es so, dass ich die selbe Ausgabe wie ohne Verwendung von env-Variablen.
InformationsquelleAutor CodingInCircles | 2015-07-11
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin nicht sicher, warum Sie es tun würde, durch die environment-Variablen, aber Sie können dies tun:
Und in Python:
source
es und wenn ich änderungen vornehmen müssen, ändern Sie einfach die config-Datei, statt Note den code. Ich werde versuchen deine und @martineau die Antworten und markieren Sie eine von Ihnen als die Antwort. Danke! 🙂Die Begründung
Empfehle ich die Verwendung von JSON-wenn Sie möchten, um Daten strukturiert in einer environment-Variablen. JSON ist einfacher zu schreiben /Lesen, die geschrieben werden können in einer einzigen Zeile der Parser existieren, die Entwickler wissen es.
Die Lösung
Testen, führen Sie diese in Ihrer shell ein:
Python-code ausführen, der in der gleichen shell aus:
gibt
Paket
Sind die Chancen hoch, dass Sie daran interessiert sind,
cfg_load
Den Umgebung PyPI package Griffen meine auch: laden einer Einstellung aus env var und zwingen Sie zu einer Liste, int, etc:
Wenn Sie möchten, setzen Sie die Umgebungsvariable, mit diesem format, das funktionieren würde:
Ausgabe: