O gravador de CSV do Python 2 produz terminador de linha errado no Windows

De acordo comsua documentação O csv.writer deve usar '\ r \ n' como lineterminator por padrão.

import csv

with open("test.csv", "w") as f:
    writer = csv.writer(f)

    rows = [(0,1,2,3,4),
           (-0,-1,-2,-3,-4),
           ("a","b","c","d","e"),
           ("A","B","C","D","E")]           

    print writer.dialect.lineterminator.replace("\r", "\\r").replace("\n", "\\n")
    writer.writerows(rows)
    print writer.dialect.lineterminator.replace("\r", "\\r").replace("\n", "\\n")

Isso imprime

\r\n
\r\n

como esperado. Mas, o arquivo csv criado usa o determinador de linha '\ r \ r \ n'

0,1,2,3,4

0,-1,-2,-3,-4

a,b,c,d,e

A,B,C,D,E

Isso é um bug ou há algo de errado no meu uso de csv.writer?

Versão em Python:

ActivePython 2.6.2.2 (ActiveState Software Inc.) baseado em Python 2.6.2 (r262: 71600, 21 de abril de 2009, 15:05:37) [MSC v.1500 de 32 bits (Intel)] em win32

no Windows Vista

questionAnswers(3)

yourAnswerToTheQuestion