python怎么读取指定内存中的内容

python怎么读取指定内存中的内容,第1张

可以使用正则表达式。

或者如果你要提取的是字符串中的数字或者不要数字 可以使用 isdigit():

例:

S=12nmmm123m1

I=''

for i in S:

if iisdigit():

I=I+i

I就是这里边的所有数字集合

python中一般并不需要查看内存内容,但作为从C/C++过来的人,有的时候还是想看看内存,有时是为了验证内容是否与预期一致,有时是为了探究下内存布局。

from sys import getsizeof

from ctypes import string_at

'''

getsizeof()

getsizeof(object, default) -> int

Return the size of object in bytes

string_at(ptr, size=-1)

string_at(addr[, size]) -> string

Return the string at addr

'''

getsizeof用于获取对象占用的内存大小,string_at用于获取指定地址、指定字节长度的内容,因为返回的对象类型是bytes,可以调用hex()函数转换成16进制查看。

对int对象的内存内容如下,首先通过函数id获取对象的内存地址。

i = 100

type(i)

# int

s = string_at(id(i), getsizeof(i))

type(s)

# bytes

s

# b'>\x00\x00\x00\x00\x00\x00\x00\xa0\x99\xfd\x1d\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00d\x00\x00\x00'

shex()

# '3e00000000000000a099fd1d000000000100000

释放Python占用的内存

象的引用计数减少;

函数运行结束,所有局部变量都被销毁,对象的引用计数也就随之减少。例如 foo(x) 运行结束,x 被销毁;

当变量被赋值给另一个对象时,原对象的引用计数也会减少。例如 x = 4,这时候 3 这个对象的引用计数就减 1 了;

使用 del 删除一个变量也会导致对象引用减少。例如 del x;

对象从集合对象中移除。例如 lstremove(x);

包含对象的集合对象被销毁。例如 del lst;

这些 *** 作都可能使对象变成垃圾回收对象,由垃圾收集器负责收集,当然垃圾收集器也负责处理循环引用对象。

要立即释放,可以使用下面的代码

import gc

gccollect()

以上就是关于python怎么读取指定内存中的内容全部的内容,包括:python怎么读取指定内存中的内容、python运行结果是一个地址时,怎么显示内容、如何释放Python占用的内存等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10121580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存