9
votes

Pourquoi dois-je obtenir "AttributeError:" L'objet Module "n'a aucun attribut 'Remplacer'" sur String.replace ()

La ligne provoquant l'erreur est

File "mine.py", line 43, in fillDonorData
totalR = totalR + (float(string.replace(contri[0][5],",","")) + float(string.replace(contri[0][6],",","")))
AttributeError: 'module' object has no attribute 'replace'


2 commentaires

J'ai utilisé '10, 000 'au lieu de "Contri [0] [5]" et "Contri [0] [6]" dans votre code et tout fonctionne bien. Je suis sur Python 2.7. Si vous essayez ceci sur Python 3, vous devriez lire Ceci


Je suppose que vous êtes sur Python 3.x? Si tel est le cas, vous devez inclure cette balise dans votre question. De plus, vous devriez coller toute la trace de trace, pas seulement l'erreur elle-même.


3 Réponses :


11
votes

Méthodes dans le module String ont été obsolètes depuis des années. Vous devriez appeler remplacer directement sur votre chaîne ou contri [6] .


1 commentaires

En 2.x, le Fonctions de chaîne obsolète encore travailler malgré l'être obsolète. Dans 3.x, la plupart d'entre eux (y compris remplacer ) n'existent plus. Cependant, il reste encore beaucoup de fonctions, de constantes et de classes non obsolètes dans string .



0
votes

Si vous avez modifié votre module, quittez simplement la coquille Python et entrez à nouveau et importer votre module à nouveau


1 commentaires

String est un module intégré. Mais c'est correct, vous devrez vous recharger si des modifications sont apportées.



3
votes

Il est maintenant sur str.replace sur Python 3.

On dirait la même chose renommée, a la même signature et une doctorante avec la même signification.


0 commentaires