As Daniel said correctly, you need to mix object . However, one of the highlights of using the new style classes also uses super , so you should use
class MyObj(csv.DictWriter, object): def __init__(self, csvfile, mycustomargs, *args, **kwargs): super(MyOobj, self).__init__(csvfile, *args, **kwargs) ...
As mentioned elsewhere , object must be the last parent, otherwise object default methods, such as __str__ and __repr__ , override another parent element implementation, which, of course, is not what you wanted ...
source share