Récupérer un objet Python à partir de son ID
Lorsque vous travaillez avec des objets Python, l'obtention de leurs identifiants uniques à l'aide de id() fournit des informations précieuses. Cependant, récupérer l’objet lui-même en fonction de son identifiant peut sembler difficile. Cette question explique comment y parvenir.
Solution utilisant ctypes
Pour récupérer un objet à partir de son ID, le module ctypes de Python propose une solution. Si l'objet existe toujours en mémoire, l'extrait de code suivant montre comment le récupérer :
import ctypes a = "hello world" print(ctypes.cast(id(a), ctypes.py_object).value)
Ce code convertit l'ID de l'objet (id(a)) en un objet Python à l'aide de ctypes.cast( ). L'objet résultant peut ensuite être consulté et affiché, comme le montre l'exemple ci-dessous :
hello world
Attention
Il est important de noter que cette approche repose sur l'hypothèse que l'objet est toujours présent en mémoire. Toute tentative de récupération d'un objet supprimé ou récupéré entraînera un comportement indéfini. Par conséquent, soyez prudent lorsque vous appliquez cette technique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!