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.
@Lungee: Da sind zu viele runde Klammern und ``map(str, …)`` ist sinnlos, denn die Rückgabe besteht ja bereits aus einer Liste mit Zeichenketten. Dies Zeile sagt auch so *gar* nicht dass die dritte Zeile ausgegeben werden soll, denn das `join()` macht ja nur Sinn wenn das mehrere Zeilen sind.
Du hast das Argument von `readlines()` falsch verstanden. Das ist die Anzahl der Zeichen nach der nichts mehr gelesen wird wenn die bisherigen Zeilen zusammen diesen Wert überschritten haben. Und das ist bei drei Zeichen natürlich schon bei der ersten Zeile in dem Beispiel erreicht, weil die mehr als drei Zeichen enthält. Das Argument habe ich noch nie benutzt, denn so wirklich viele Einsatzzwecke gibt es dafür nicht. `readlines()` benutze ich an sich gar nicht, denn das macht IMHO nur Sinn wenn man das nicht besonders sinnvolle Argument benötigt. Sonst ist es flexibler wenn man einfach `list()` auf das Dateiobjekt anwendet um alle Zeilen zu bekommen.
Ich vermute mal Du suchst `itertools.islice()` und willst von den Zeilen entweder noch das Zeilenende entfernen, oder `join()` auf einer *leeren* Zeichenkette aufrufen und nicht auf einer mit einem Leerzeichen drin.
`date` wird nicht verwendet. Namen nummerieren ist schlecht. Zeichenkettenwerte mit ``+`` zusammenstückelt ist eher BASIC als Python. Wenn man Zeichenkettenformatierung mit f-Zeichenkettenliteralen (ab Python 3.6) oder der `format()`-Methode verwendet, kann man sich auf `strftime()` sparen, denn das Format kann man auch beim Platzhalter angeben.
Namen werden in Python klein_mit_unterstrichen geschrieben. Also `file_ag`, beziehungsweise `ag_file` – es sei denn Du bist Yoda.
Wenn möglich sollte man Dateien zusammen mit der ``with``-Anweisung öffnen. Hier ist das möglich. Und man sollte explizit eine Kodierung angeben wenn man mit Textdateien arbeitet.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware