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.
ich benötige ein Script mit dem ich Dateien aus einem Ordner erfassen kann und diese in einer bestimmten Spalte einer CSV aufliste. Im späteren Verlauf bzw. bei mehrmaligen nutzen des Scripts soll es die CSV einlesen, dann den Ordnerinhalt einlesen und die Einträge abgleichen und neue Dateien am Ende der CSV neu anhängen. Mein bisheriger Ansatz wäre mit dem os-Modul die Inhalte zu erfassen und aufzulisten
bzw. wie schreibe ich die liste nun gezielt in eine CSV Spalte?
Die musst die CSV Datei (zeilenweise) einlesen, die Zeile an der entsprechende Stelle aktualisieren und dann wieder neu schreiben.
Von der Beschreibung her hört sich das aber auch so an, als würde eine SQL-Datenbank wie SQLite auch eine sinnvolle Option sein. Python hat SQLite ja an Bord.
@Doerpi: Das ist alles ein bischen komplizierter als diese drei Zeilen von denen die mit dem `a` schlecht ist, weil der Name sehr schlecht ist, und die dritte Zeile keinen Sinn macht weil mit dem Ergebnis des `listdir()`-Aufrufs überhaupt nichts gemacht wird.
In neuem Code würde ich auch nicht mehr mit `os` für so etwas anfangen sondern gleich das `pathlib`-Modul verwenden.
Auf Modulebene hat die letzte Zeile auch nichts zu suchen. Da gehört nur Code hin der Konstanten, Funktionen, und Klassen definiert. Also der Pfad könnte da mit einem vernünftigeren Namen stehen, falls es sich dabei um eine Konstante handelt.
Ansonsten müsstest Du das Problem in kleinere Teilprobleme aufteilen und dann Funktionen schreiben, mit denen sich diese Teilprobleme in wenigen Zeilen lösen lassen. Jede Funktion testen, ob sie funktioniert, bevor man die nächste schreibt.
Die Dateinamen in eine Spalte schreiben klingt auch ein bisschen sehr vereinfacht. Stehen da schon Daten? Dann wird man ja wahrscheinlich nicht einfach beliebige Dateinamen in beliebige Datensätze schreiben können, sondern muss die irgendwie zuordnen‽ Du musst eventuell auch bedenken das die Dateinamen in keiner definierten Reihenfolge kommen. Auch wenn das vielleicht anders aussieht, weder `os.listdir()` noch die `Path`-Methoden garantieren eine Ordnung auf dem Ergebnis. Wenn die in jedem Fall sortiert sein sollen, muss man das explizit selbst tun.
Beim Abgleich der Dateinamen aus der CSV-Datei mit dem was vom Dateisystem kommt, kann der `set()`-Datentyp hilfreich sein.
Bei der CSV-Datei und Dateinamen muss man auch aufpassen, dass Dateinamen nicht auf jedem System Text sind. Es gibt Dateisysteme wo ein Dateiname aus beliebigen Bytefolgen ausgenommen Nullbytes und einem Pfadtrenner bestehen können.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman