Seite 2 von 2
Re: Mehrdimensionales Array abfragen
Verfasst: Freitag 4. September 2015, 16:20
von trumm
Das kommt das der snmp_Info Funktion die über/von Check_mk aufgerufen wird. Die macht den snmpwalk zum switch.
Re: Mehrdimensionales Array abfragen
Verfasst: Freitag 4. September 2015, 16:20
von snafu
Ich glaube, Hyperion will wissen, wie die eigentliche Struktur zustande kommt. Also nicht, wie du an die fertige Struktur kommst, sondern wo sie zusammengesetzt wird.
Ist das ein Skript, welches du verändern könntest? Ist es ein bestimmter Befehl, den du möglicherweise anders konfigurieren kannst? Oder ist die Struktur fest eingestellt?
Weil: Die Struktur ist halt recht unhandlich. Wenn man das Format dieser Struktur schon beim Erstellen beeinflussen könnte, dann würde man möglicherweise weniger umständlichen Python-Code schreiben müssen.
Re: Mehrdimensionales Array abfragen
Verfasst: Samstag 5. September 2015, 09:29
von Alfons Mittelmeyer
@trumm Ich weiß ja nicht, wozu Du das array brauchst, aber wenn es Dir darauf ankommst auf den hinteren Eintrag zu filtern, würde ich ein Dictionary nehmen, Du kannst es ja auch aus Deinem Array erzeugen:
Code: Alles auswählen
Dictionary = {}
def fill_dictionary(arr_entry):
entry = arr_entry[2]
index = arr_entry[0]
name = arr_entry[1]
if entry not in Dictionary: Dictionary[entry] = {}
Dictionary[entry][index] = name
fill_dictionary( ['6', 'Tunnel2','131'])
Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 09:03
von trumm
Guten Morgen,
ich muss nur wissen ob der zweite Eintrag vorhanden ist. Dies bedeutet ob auf einem Cisco Device ein VPN Tunnel steht, oder eben down ist.
Aktuell sieht das auch ganz gut aus. Ich hab noch eine andere Baustelle da muss ich mal gucken, warum er den letzten snmp-walk "verschluckt"
Danke für die Info.
Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 13:41
von trumm
Ich möchte mich nochmals bei allen die mir geholfen haben ganz herzlich bedanken.
Heute Vormittag habe ich meinen ersten check_mk check mit Python erfolgreich umsetzten können.
Und während ich so voller Freude war, bat man mich, diesen gleich zu erweitern und da kommt wieder mein Listen Problem.
Jetzt habe ich der Listen und muss ein andere andere hängen und wiederrum eine daraus machen. Wie kann ich zwei "zusammensetzten"
Ein Bsp.
Code: Alles auswählen
liste = [
[
[1, 1],[2 ,2],[3, 3],[4, 4]
],
[
['Text'],['Wort'],[''],['Hilfe']
]
]
Wie kann ich die Zahlen-Liste in Eins mit dem jeweiligen Wort aus liste zwei ergänzen, oder eine Große daraus machen ?
Das es so aussieht.
Code: Alles auswählen
[1, 1, Text], [2, 2, Wort],[3, 3, ''], [4, 4, Hilfe]
Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 14:01
von Sirius3
Code: Alles auswählen
>>> map(operator.add, *liste)
[[1, 1, 'Text'], [2, 2, 'Wort'], [3, 3, ''], [4, 4, 'Hilfe']]
Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 14:27
von trumm
Ja coole Sache genauso möchte ich das Ergebnis haben. doch leider funktioniert das irgendwie nicht. ich bekomme einen Traceback (most recent call last)
Ich war gerade mit einer for- Schleife etwas am versuchen.

Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 14:30
von sparrow
Wenn du schon einen Fehler bekommst, dann solltest du den entsprechenden Quellcode und die Fehlermeldung hier posten. Beides so wie du es ausführst - im Zweifelsfall als minimales Beispiel.
Sonst können wir nur raten.
Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 14:33
von trumm
half schon mal die Fehlermeldung zu verändern
Code: Alles auswählen
>>> import pprint
>>> import operator
>>> liste = [[[1, 1],[2 ,2],[3, 3],[4, 4]],[['Text'],['Wort'],[''],['Hilfe']]]
>>> b= map(operator.add, *liste)
>>> pprint.pprint(b)
<map object at 0x0000000002333208>
Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 14:33
von Kebap
trumm hat geschrieben:leider funktioniert das irgendwie nicht

Wie man Fragen richtig stellt
Re: Mehrdimensionales Array abfragen
Verfasst: Montag 7. September 2015, 14:37
von trumm
Ich habs
Code: Alles auswählen
import pprint
import operator
liste = [[[1, 1],[2 ,2],[3, 3],[4, 4]],[['Text'],['Wort'],[''],['Hilfe']]]
b = tuple(map(operator.add, *liste))
pprint.pprint(b)
>>>([1, 1, 'Text'], [2, 2, 'Wort'], [3, 3, ''], [4, 4, 'Hilfe'])
Dank für das auf den richtigen Weg bringen
