Bestimte Stelle in textdatei überschreiben

  • [font="Calibri"]Hallo zusammen,[/font]

    [font="Calibri"]vorne weg Python und ich kennen uns erst 2 Tage.[/font]

    [font="Calibri"]Ich möchte die Statische IP mit Python auslesen und ändern.[/font]
    [font="Calibri"]Dafür habe ich mir das zusammengebastelt.[/font]

    [font="Calibri"]#!/usr/bin/python3.4[/font]

    [font="Calibri"]f = open('/etc/dhcpcd.conf', 'r')[/font]
    [font="Calibri"]for line in f:[/font]
    [font="Calibri"]    if line[0:18]=='static ip_address':[/font]
    [font="Calibri"]        ip = line[19:33][/font]
    [font="Calibri"]        print (ip)[/font]
    [font="Calibri"]f.close()[/font]
    [font="Calibri"] [/font]
    [font="Calibri"]ich erhalte z.b. 192.168.1.5  zurück[/font]
    [font="Calibri"]Wie kann ich die IP jetzt in die einzelnen Blöcke aufteilen da sie ja unterschiedlich (1-3 Zeichen) lang seien können.[/font]
    [font="Calibri"]Also 4 variablen mit 1-3 stellen. [/font]

    [font="Calibri"]Und wie kann ich das mit anderen werten wieder in die Datei zurückschreiben.[/font]

    [font="Calibri"]Danke für eure Hilfe[/font]
    [font="Calibri"] [/font]
    [font="Calibri"] [/font]
    [font="Calibri"] [/font]

  • Hallo Hanebampel,

    dein Vorhaben hat mich jetzt selber interessiert. Hier meine Lösung für das Problem. Hoffe du kommst mit den Kommentaren zurecht.

    Generell solltest du bei Checks und beim Interpretieren der Daten auf die Angabe von Stringlängen bzw. Bereichen verzichten. Dadurch wird das Skript nur fehleranfällig wenn zum Beispiel mal ein weiteres Leerzeichen eingefügt wurde.

    Bei mir wird jetzt die neue IP-Adresse inkl. Subnetzmaske am Anfang des Skripts hinterlegt. Wenn sich die bei dir aus der aktuellen IP-Adresse errechnen sollte, musst du das noch anpassen.

    Gruß Georg

  • [font="Calibri"]Das Beispiel von Georg läuft super[/font]
    [font="Calibri"]und ich habe wieder was gelernt.[/font]

    [font="Calibri"]Hab noch so etwas für mich kniffliges auf Lager[/font]

    [font="Calibri"]Aber Ihr seid ja super[/font]
    [font="Calibri"]U[/font][font="Calibri"]nd irgendwann kommt ein neuer und ich kann [/font]
    [font="Calibri"]Auch etwas zurückgeben (wenn ich es bis dahin kann :) ).[/font]

    [font="Calibri"]Gruß Hanebampel[/font]

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!