Methode Daten einzulesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mardor
User
Beiträge: 27
Registriert: Montag 9. Februar 2015, 19:07

Hallo,

ich habe ein "Datenfile" (ein perl Script) bei dem folgende Struktur vorhanden ist:

Code: Alles auswählen

	nlcdc =>
	{
		iprange => "172.17.88.0",
		ort => "ABC Mainz",
		type => "prod"
	},
	{
		iprange => "172.17.99.0",
		ort => "Hans-Warsch-Platz 4, 87437 Kempten",
		type => "prod"
	},

Was wäre denn die beste Methode alle diese Angaben einzulesen und dann später wieder modifiziert ausgeben zu können ?
Mir fehlt aktuell einfach die Idee hierzu.

Gruß Mardor
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Na, Du musst eben das Perl-Script parsen und dann eine passende Struktur in Python aufbauen. Diese manipulierst Du dann entsprechend und anschließend musst Du eben aus diesen Daten wieder ein Perl-Script erzeugen bzw. diese manipulieren... ganz einfach, oder? :K :twisted:

Mal im Ernst: Das Problem scheint ein XY-Problem zu sein! Schildere doch mal ein wenig ausführlicher, was Du eigentlich erreichen willst und was die Rahmenbedingungen sind!

IdR. nutzt man nämlich für Daten keine Sprache spezifische Syntax, sondern neutrale Formate a la JSON, XML, YAML usw.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@Mardor: es gibt da ein Programm, das kann solche Dateien zumindest lesen, es nennt sich 'perl', glaube ich. Einen kompletten Perl-Parser nachzubauen ist nicht sinnvoll (Zeit, Fehleranfälligkeit, Nutzen). Steig auf ein bekanntes Datenformat wie JSON um und falls schon Daten in diesem Format vorhanden sind, nimm perl um sie nach JSON zu konvertieren.
Mardor
User
Beiträge: 27
Registriert: Montag 9. Februar 2015, 19:07

Hallo,

sorry, ich glaube hier fehlt wirklich noch ein wenig Erklärung von mir. Die gepasteten Zeilen sind aus einer Konfigdatei (inkl. Perl Skript) welche genutzt wird und verschiedenste Devices automatisiert zu "betanken". Ich möchte die Infos in diesem Skript benutzen um hier die wichtigen Informationen rauszuholen und dann in meinem Tool weiterzunutzen.

Ich habe auch schon ein funktionsfähiges Skript das mir jedoch jedesmal die Konfigdatei die Informationen zusammensucht. Da das Python Script jedoch immer größer wird und ich immer wieder auf die gleichen Informationen (in der Konfigurationsdatei zugreife) würde ich mir gerne alle Informationen erstmal komplett einlesen und dann weiterverarbeiten.

Mir fehlt hier einfach noch die Struktur und die Info ob hier ein Tupel, oder ein Directory am sinnvollsten ist.

Ich hoffe das Hilft zur Erklärung.

Gruß Mardor
BlackJack

@Mardor: Schreib das in Perl. Also wie schon vorgeschlagen: Einlesen und in einem Format speichern das von anderen Programmiersprachen aus verwendbar ist. JSON würde sich anbieten. Das kann man dann auch einfach in Python einlesen. Falls Du Einfluss auf das Perl-Skript hast zu dem diese Konfiguration gehört, dann würde ich versuchen direkt dieses Skript zu ändern, so dass das auch mit JSON arbeitet.
Antworten