求助大神,python读结构体并打印

m0_37992604 2019-01-02 10:45:09
如何利用python读取txt中的结构体定义,根据定义建立对应结构体,然后读取相应的二进制文件并赋值到该结构体中,最后将结构体对应字段的值打印出来,有python大神可以指教下么
...全文
1617 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_37992604 2019-01-17
  • 打赏
  • 举报
回复
补充个例子,读取的txt里结构体假设是typedef struct stru_s{int a:16; int b:8; int c:8;} stru;用的是c语言的格式定义的,想读此txt文件用python定义一个与txt中相同的结构体,然后读一个按此结构定义的二进制数据,赋值到该结构体中,并解析出每个字段a,b,c的值分别是多少
龙鹰心腹 2019-01-11
  • 打赏
  • 举报
回复
不知道结构体的格式,假设是字典吧。
text.txt:
{list :
["list1", "list2", "list3"]
}

我猜测你想要的是这样的程序:


import json


with open("text.txt", "r") as f:
jsonData = json.load(f)

result = []
for txt in jsonData["list"]:
data = {}
with open(txt, "rb") as f:
data[txt] = f.read()
result.append(data)
jsonData["list"] = result

冷风1023 2019-01-08
  • 打赏
  • 举报
回复
引用 2 楼 冷风1023 的回复:
如果我没有理解错的话,楼主就是要把文件内容读到内存中,可以用json
test.txt 内容如下:
{"name": "test", "sex": "\u7537", "age": 26}

testdemo.py
#!/usr/bin/env Python3
# -*- coding:utf-8 -*-

import json

with open('text.txt','r') as f:
jsonObject = json.load(f)
print(jsonObject)
print(jsonObject['name'])


文件打开模式r修改为rb
冷风1023 2019-01-08
  • 打赏
  • 举报
回复
如果我没有理解错的话,楼主就是要把文件内容读到内存中,可以用json
test.txt 内容如下:
{"name": "test", "sex": "\u7537", "age": 26}

testdemo.py
#!/usr/bin/env Python3
# -*- coding:utf-8 -*-

import json

with open('text.txt','r') as f:
jsonObject = json.load(f)
print(jsonObject)
print(jsonObject['name'])
galaxybamboo1 2019-01-07
  • 打赏
  • 举报
回复
不知所云 至少把txt传上来看啊,你所谓的结构体又是什么样子的?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧