python访问内存_使用Python访问内存映射文件

我希望使用Guild Wars 2中的内存映射文件,该文件旨在链接到Mumble以获取位置音频.该文件包含有关字符坐标和其他有用信息的信息.

我已经能够使用这个脚本访问坐标信息,

import mmap

import struct

last=[]

while True:

shmem = mmap.mmap(0, 20, "MumbleLink", mmap.ACCESS_READ)

coord=struct.unpack("IL3f", shmem)[2:5]

shmem.close()

if last!=coord:

print(coord)

last = coord

X = coord[2]

Y = coord[0]

Z = coord[1])

我的问题是我很难弄清楚如何从文件中获取更多信息.如何访问存储的其他信息,如角色名称和摄像机位置.

任何帮助将不胜感激.

干杯,

埃德.

最佳答案 您可以尝试在mmap调用中映射超过20个字节的文件,比如使用1024,根据

http://mumble.sourceforge.net/Link解压缩整个东西,然后提取名称和摄像头位置:

s = struct.unpack('IL3f3f3f512s3f')

name = s[11].decode('utf-16')

camera_pos_x,camera_pos_y,camera_pos_z = s[12:15]

你可能感兴趣的:(python访问内存)