Frage

Gibt es eine Möglichkeit das Dateiobjekt von einem CSV-Schreib- / Lesegerät Objekt verwendet zuzugreifen, nachdem es instanziiert wurde? Ich openned das csv-Modul, und es scheint der Wettbewerb gebautet werden. Ich habe auch versucht, die Datei-Objekt als Eigenschaft festlegen, aber ich erhalte den folgenden Fehler:

AttributeError: '_csv.writer' object has no attribute 'fileobj'
War es hilfreich?

Lösung

csv.writer ist eine "eingebaute" -Funktion. Das heißt, es wird in kompilierter C-Code geschrieben, anstatt Python. So seine internen Variablen können nicht von Python-Code zugegriffen werden.

aber sagt, dass ich bin nicht sicher, Warum Sie müssen das csv.writer Objekt inspizieren das Dateiobjekt zu erfahren. Diese Aufgabe wird angegeben bei der Erstellung des Objekts:

w = csv.writer(fileobj, dialect, ...)

Wenn Sie also später das Objekt zugreifen müssen, nur um es in einer anderen Variable speichern.

Andere Tipps

Von dem, was ich sagen kann, gibt es keine einfache Möglichkeit, das Datei-Objekt, um wieder heraus, wenn Sie es in ein CSV-Objekt setzen. Mein Ansatz wäre wahrscheinlich die csv Schreiber und Leser zu Unterklasse Sie verwenden, damit sie mit ihnen, dass die Daten sich herumtragen. Natürlich ist dies die Möglichkeit, direkt in der Lage sein wird davon ausgegangen, um die Arten von Klassen macht die Fabrik Zugriff auf Funktion (unter anderem).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top