English 中文(简体)
p
原标题:Access memory address in python

My question is: How can I read the content of a memory address in python? example: ptr = id(7) I want to read the content of memory pointed by ptr. Thanks.

问题回答

Have a look at ctypes.string_at. Here s an example. It dumps the raw data structure of a CPython integer.

from ctypes import string_at
from sys import getsizeof

a = 0x7fff 
print(string_at(id(a),getsizeof(a)).hex())

产出:

0200000000000000d00fbeaafe7f00000100000000000000ff7f0000

请注意,由于id(>>>,与CPython执行有关的工作发生于归还一个“灰色”物体的虚拟记忆地址,但这不受“灰色”语言本身的保障。

在沙尔,除非你再次与C申请相联,否则你一般不会使用点人获得记忆。 如果需要的话,请见c类模块,供查阅者使用。

“我想读一下 p点的记忆内容”

C. 书写代码。 http://docs.python.org/exring/exping.html“rel=“noreferer” http://docs.python.org/exring/exping.html。

您是否试图通过<代码>id(thing)从<条码>到<条码>的>获取。 我甚至不知道能否做到这一点,而且肯定不会这样做;这样做会打败垃圾收集,导致缺乏记忆安全。 如果你的方案确实意味着你有效地提到垃圾收集器所知道的那部分物品(id number),那么它可以释放仍在使用的物体(视方案其他部分发生的情况)。

If you re trying to read raw memory from a pointer that you ve got returned from a C extension or something, then the other answers may help you.

如果你试图获得像图像和视频这样的大型双亲档案,并且没有必要永远保存这些档案,则考虑使用weakref

你可以(例如):

import ctypes
example_string = "Hello world!"
address = id(example_string)
string_from_address = ctypes.cast(address).value
print(string_from_address)

What this does is import ctypes like usual, Creates an example string, Gets its address, Uses ctypes to cast it from memory. And finally prints it.





相关问题
Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

An enterprise scheduler for python (like quartz)

I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...

How to remove unique, then duplicate dictionaries in a list?

Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...

What is suggested seed value to use with random.seed()?

Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...

How can I make the PyDev editor selectively ignore errors?

I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

Converting Dictionary to List? [duplicate]

I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...

热门标签