TypeError: descriptor 'replace' requires a 'str' object but received a 'unicode'

Stefan Behnel stefan_ml at behnel.de
Sat Feb 21 08:55:54 EST 2009


Jaap van Wingerde wrote:
> # -*- coding: utf_8 -*-
> Omschrijving = u'priv? assuranti?n' # string from a bank.csv
> Omschrijving = str.replace(Omschrijving, "priv?", 'privé')
> Omschrijving = str.replace(Omschrijving, "Assuranti?n", 'Assurantiën')
> print Omschrijving
> 
> When I run this script I get the following message.
> 
> "Traceback (most recent call last):
>   File "/home/jaap/Desktop/unicode.py", line 3, in <module>
>     Omschrijving = str.replace(Omschrijving, "priv?", 'priv�')
> TypeError: descriptor 'replace' requires a 'str' object but received a
> 'unicode'"
> 
> How can I solve this?

By using unicode.replace() instead of str.replace(), i.e.

	Omschrijving = Omschrijving.replace("priv?", 'privé')

Stefan



More information about the Python-list mailing list