Ich habe eine gzip-Datei und momentan lese ich es so:
%Vor%Ich denke, das konvertiert die Datei in eine Zeichenkette, aber ich möchte sie Zeile für Zeile lesen.
Was ich erreichen möchte, ist, dass die Datei einige Warnmeldungen mit etwas Müll enthält. Ich möchte diese Warnmeldungen dann in eine andere Datei schreiben. Aber einige Warnmeldungen werden wiederholt, so dass ich sicherstellen muss, dass ich sie nur einmal grepiere. Daher würde Zeile für Zeile lesen mir helfen.
Sie sollten in der Lage sein, einfach den gzip-Reader wie bei regulären Streams zu durchlaufen ( gemäß den Dokumenten )
%Vor%Andere Antworten zeigen, wie man die Datei Zeile für Zeile liest, aber nicht wie man die Fehler nur einmal erfasst. Aufbauend auf @ Tigraines Antwort:
%Vor% Set verhält sich wie Array, wird aber mit Hash erstellt, also ist es wie ein Hash, aber wir beschäftigen uns nur mit den Schlüsseln, d. h. es werden nur eindeutige Werte gespeichert. Wenn Sie versuchen, Duplikate hinzuzufügen, werden sie verworfen, und Sie erhalten nur die eindeutigen Werte. Du könntest ein Array verwenden und danach uniq
, aber ein Set wird es für dich von vorne verwalten.