diff --git a/code/part-3/regex/main.ipynb b/code/part-3/regex/main.ipynb index c55a287..2f88c6f 100644 --- a/code/part-3/regex/main.ipynb +++ b/code/part-3/regex/main.ipynb @@ -1,8 +1,295 @@ { - "cells": [], + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nTeilaufgabe 1:\\n> Zerlegen Sie zeilenweise die Datei syslog in die folgenden Bestandteile:\\n- Datum\\n- Uhrzeit\\n- Rechnername\\n- Prozessname\\n- Numerische Prozess-ID (ist nicht in allen Zeilen vorhanden)\\n- Nachricht\\n> Wandeln Sie dabei Datum und Uhrzeit in ein datetime-Objekt um. Nehmen Sie das aktuelle Jahr für die Bildung des Objekts.\\n> Die Ausgabe ist eine Liste mit einem dict pro Zeile aus der Quelldatei.\\nTeilaufgabe 2:\\n> Laden Sie die Datei heidi.md.\\n> Ersetzen Sie den Namen Heidi unter Verwendung des re-Moduls mit einem anderen Mädchennamen. https://de.statista.com/statistik/daten/studie/286369/umfrage/beliebteste-vornamen-fuer-maedchen-in-der-deutschen-schweiz/ liefert Ihnen eine Auswahl.\\n> Speichern Sie den geänderten Text mit dem Dateinamen ab, den Sie ausgewählt haben. Vergessen Sie dabei nicht auf die Dateiendung .md.\\n'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import re\n", + "from datetime import datetime\n", + "\n", + "\"\"\"\n", + "Teilaufgabe 1:\n", + "> Zerlegen Sie zeilenweise die Datei syslog in die folgenden Bestandteile:\n", + "- Datum\n", + "- Uhrzeit\n", + "- Rechnername\n", + "- Prozessname\n", + "- Numerische Prozess-ID (ist nicht in allen Zeilen vorhanden)\n", + "- Nachricht\n", + "> Wandeln Sie dabei Datum und Uhrzeit in ein datetime-Objekt um. Nehmen Sie das aktuelle Jahr für die Bildung des Objekts.\n", + "> Die Ausgabe ist eine Liste mit einem dict pro Zeile aus der Quelldatei.\n", + "Teilaufgabe 2:\n", + "> Laden Sie die Datei heidi.md.\n", + "> Ersetzen Sie den Namen Heidi unter Verwendung des re-Moduls mit einem anderen Mädchennamen. https://de.statista.com/statistik/daten/studie/286369/umfrage/beliebteste-vornamen-fuer-maedchen-in-der-deutschen-schweiz/ liefert Ihnen eine Auswahl.\n", + "> Speichern Sie den geänderten Text mit dem Dateinamen ab, den Sie ausgewählt haben. Vergessen Sie dabei nicht auf die Dateiendung .md.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "def aufgabe_1() -> list[dict]:\n", + " with open(\"syslog.txt\", \"r\", encoding=\"utf-8\") as f:\n", + " log = f.read()\n", + "\n", + " pattern = (\n", + " r\"^(?P\\w{3}\\s+\\d{1,2})\\s\"\n", + " r\"(?P