您当前的位置:首页 > 计算机 > 编程开发 > Python

python --根据内存id拿变量的值

时间:08-15来源:作者:点击数:
城东书院 www.cdsy.xyz

这篇文章介绍了两种方法在Python中通过内存地址获取对象。方法一是使用`from_ctypes`的`PyObj_FromPtr`函数,将对象的id转换回对象。方法二是利用`ctypes`库的`cast`函数,结合`py_object`类型,从变量的id读取其值。这两种技术涉及到Python内存管理和C接口的交互。

方法一:

from _ctypes import PyObj_FromPtr
i = {"j": 99, "name": "jack"}
var_id = id(i)
print(var_id)
print(PyObj_FromPtr(var_id))

方法二:

import ctypes

value = 'hello world'  # 定义一个字符串变量
address = id(value)  # 获取value的地址,赋给address
get_value = ctypes.cast(address, ctypes.py_object).value  # 读取地址中的变量
print(get_value)
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐