python獲取object對象的內存地址以及通過內存地址獲取對象

獲取某個對象的內存地址

通過id方法可以直接顯示10進制

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# @Author:ATMECO

import _ctypes

#創建一個對象
f = open('xxx.txt','a')
#打印對象
print(f)
#打印對象的內存地址 10進制
print(id(f))

#內存地址就是一個int 我們就直接把內存地址輸入
mem_id = input('input mem addr >> ')
#通過_ctypes的api進行對內存地址的對象
obj = _ctypes.PyObj_FromPtr(int(mem_id))
#打印出來通過內存地址尋找到的對象
print(obj)
#接着對對象進行繼續操作
obj.write('ssss') #等同於 f.write('ssss')
obj.close()#等同於 f.close()

困擾多年的問題終於找到解決方法了 畢竟做BS開發較多 對內存這些瞭解的太少了 還是要多補補

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章