Python integer en string

Adanedhel07 -  
 Utilisateur anonyme -
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

  1. Utilisateur anonyme
     
    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
    1. Utilisateur anonyme
       
      PS, tu peux modifier ton propre message pendant 1h
      0
  2. Adanedhel07
     
    Merci pour le commentaire le code doit être utilisable pour correction ^^
    0
  3. Utilisateur anonyme
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Adanedhel07
     
    J'y avais pensé c'est pour ça que le code est uniquement dans un seul *.py pour éliminer cette erreur là.
    0
  6. Utilisateur anonyme
     
    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