Partage
  • Partager sur Facebook
  • Partager sur Twitter

Figer le nom des objets python

    16 juillet 2019 à 16:08:27

    Bonjour, voici mon problème :

    Lors du lancement de mon programme, celui-ci crée tout un tas d'objet, dont j'ai moi-même définit la classe. Python identifie ces objets avec un nom du style :

    <__main__.conversion.<locals>.Node object at 0x05B6D650>

    Néanmoins, à chaque fois que je relance le programme, les objets sont regénérés (ok) mais sous un autre nom. Sachant que je stock ces noms pour pouvoir faire une correspondance plus tard, cela est problématique...

    Auriez-vous une idée pour que la regénération se fasse sous le même nom ?

    Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      16 juillet 2019 à 16:24:51

      Change de méthode pour identifier tes objets, tu ne peux pas figer ce nom là (pas à ma connaissance en tout cas).

      Attribue leur un indentifiant sur lequel tu as le contrôle.

      Ceci dit, j'ai pas compris pourquoi tu fais ça, je me demande bien dans quel contexte ça peut être utile sachant que si le programme est terminé, puis relancé, les objets n'existent plus.

      -
      Edité par LoupSolitaire 16 juillet 2019 à 16:25:38

      • Partager sur Facebook
      • Partager sur Twitter

      Blond, bouclé, toujours le sourire aux lèvres...

        16 juillet 2019 à 17:53:56

        Cet identifiant est l'adresse de l'objet en mémoire. Lorsque tu les recharges, tu ne peux pas les obliger à se charger au même endroit.

        Utilise la sérialisation avec un module comme pickle.

        • Partager sur Facebook
        • Partager sur Twitter
          17 juillet 2019 à 7:48:38

          Merci à vous deux,

          Le module pickle semble adapté à mon besoin.

          Bonne journée

          • Partager sur Facebook
          • Partager sur Twitter

          Figer le nom des objets python

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown