Python integer en string

Fermé
Adanedhel07 - Modifié le 7 mars 2020 à 22:00
 Utilisateur anonyme - 8 mars 2020 à 08:00
Bonjour,

j'ai le code suivant :

a = 'component_noeuds1.txt'
d = 'temp1.txt'

fichier = open(d, "w")
fichier.close()

i=0
with open(a, "r") as f:
    for line in f.readlines():
        i = i + 1
        if "NO" in line:
            fichier = open(d, "a")
            str1=line + " " + str(i)
            fichier.write(str1)
            fichier.close()  

J'ai l'erreur suivante : TypeError: 'int' object is not callable

Je n'arrive pas à trouver pourquoi ça ne fonctionne pas j'espère que vous pourrez m'aider. Car si je n'appel pas i dans str1 tout fonctionne.

Cédric

6 réponses

Utilisateur anonyme
7 mars 2020 à 21:57
Bonjour,

en python, il y a un truc primordial: l'indentation.
Or le site (comme beaucoup) supprime les espaces "inutiles", et y'a plus d'indentation donc comme tout site de codage qui se respecte, il y a un moyen d'y remèdier.
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Quand tu auras, reposté ton code utilisable, quelqu'un pourra te répondre.
0
Utilisateur anonyme
7 mars 2020 à 21:57
PS, tu peux modifier ton propre message pendant 1h
0
Merci pour le commentaire le code doit être utilisable pour correction ^^
0
Utilisateur anonyme
7 mars 2020 à 22:09
Oui

j'ai essayé ça sur un site de code en ligne
liste = ["Yes", "NO", "2", "NO", "NONO"]
i=0
for line in liste:
    i = i + 1
    if "NO" in line:
        str1=line + " " + str(i)
        print(str1)


Et ça marche, peux tu essayé chez toi?
0
Utilisateur anonyme
7 mars 2020 à 22:21
Ici, https://www.developpez.net/forums/d1015614/autres-langages/python/general-python/int-object-is-not-callable/

Il est expliqué que si tu nommes une variable comme une fonction, la fonction est écrasée.
Quand plus tard, tu veux utiliser la fonction, Python prend la variable et ça beug.

Plus avant dans ton code, n'aurais tu pas une variable qui s'appelle str?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J'y avais pensé c'est pour ça que le code est uniquement dans un seul *.py pour éliminer cette erreur là.
0
Utilisateur anonyme
8 mars 2020 à 08:00
Bonjour

Je ne suis pas sûr de comprendre
c'est pour ça que le code est uniquement dans un seul *.py pour éliminer cette erreur là.


Cela veut il dire que ton projet comprend plusieurs fichiers, et que potentiellement dans au moins un autre fichier tu as appelé une variable str? Dans ce cas, si la portée de cette variable est « globale » je ne pense pas que séparer les fichiers suffise à se prémunir.

Ou alors cela veut il dire que tout ton programme est dans un seul fichier et que dans ce fichier tu n’as pas nommé de variable str?
0