Pourquoi suis-je “AttributeError: 'module' objet n'a pas d'attribut "remplacer" à” sur la chaîne.replace()
La ligne d'origine de l'erreur est
totalR = totalR + (float(string.replace(contri[0][5],",","")) + float(string.replace(contri[0][6],",","")))
contri[0][5] et [6] sont des chaînes de caractères qui contiennent des nombres formatés que 1 000.00. Je suis à la suppression de la virgule avant que je lance les chaînes de caractères comme des flotteurs afin de les ajouter à totalR, qui est un float. (Créé comme totalR = 0.0) j'ai aussi essayé d'utiliser des Décimales, mais l'erreur qui s'y est passé aussi. J'ai fait "importer chaîne". Le programme échoue avec l'erreur:
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'
J'ai utilisé "de 10 000' au lieu de 'contri[0][5]" et "communication[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 suis en supposant que vous êtes sur Python 3.x? Si oui, vous devez inclure cette balise dans votre question. Aussi, vous devez coller l'ensemble de la traçabilité en amont, et pas seulement l'erreur elle-même.
Je suis en supposant que vous êtes sur Python 3.x? Si oui, vous devez inclure cette balise dans votre question. Aussi, vous devez coller l'ensemble de la traçabilité en amont, et pas seulement l'erreur elle-même.
OriginalL'auteur Jeff | 2013-12-24
Vous devez vous connecter pour publier un commentaire.
Méthodes dans le
string
module ont été désapprouvées pendant des années. Vous devriez appelerreplace
directement sur votre chaîne, oucontri[6]
.replace
) n'existent plus. Cependant, il ya encore beaucoup de non-déconseillé fonctions, constantes, et les classes dansstring
.OriginalL'auteur Daniel Roseman
Il est maintenant sur
str.remplacez
sur Python 3.Ressemble à la même chose renommé, ont la même signature et une docstring avec la même signification.
OriginalL'auteur alanjds
Si vous avez apporté des modifications à votre module, juste à la sortie de python, shell et d'entrer à nouveau et l'importation de votre module de
string
est un builtin module. Mais c'est correct, vous devriez recharger si des modifications sont apportées.OriginalL'auteur Humoyun