22. oktober 2009 - 14:25Der er
6 kommentarer og 1 løsning
Python 3.1: Udvid file-klassen (og noget med csv.DictWriter)
Hej!
Jeg bruger csv.DictWriter til at producere nogle CSV-filer. Desværre ser det ud til, at hver linje afsluttes med 2 linjeskift i stedet for blot én. (Nogle bud?)
Eftersom csv.DictWriter tager imod en "file" agtig objekt, tænkte jeg på at udvide file-klassen hvor jeg blot ændrer lidt i write-metoden. (Er det en decorator design?) Dvs. noget i retningen af følgende pseudo-kode:
[code] class myFile (inherit file): def write(self, str): if str != '\n': super.write(str) [/code]
Problemet er, at jeg ikke kan finde ud at nedarve funktionerne eller få fat i "file"-klassen. Nogle bud?
Så fik jeg løst tingene, men ikke som forventet. Løsningen fra j4k0b kunne jeg ikke anvende, da jeg ikke kunne finde ud af at starte objektet med et filnavn.
Jeg løste problemet ved at sætte Dialect.lineterminator til "\n" i stedet for "\r\n". Alle der vil have point lægger svar. :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.