(7文件操作)已知二进制文件stu3.dat有若干个学生信息,每个学生信息包含学号、姓名、年龄、成绩信息,其中学号11个字符长度、姓名最多10字符长度的字符串,都以GBK格式保存,年龄以4字节有符号整型数保存,成绩以双精度浮点数保存,无字节对齐,数值数据字节顺序按本地机器,数据类型字节数按默认。请编程读取前n个学生信息并显示,同时不显示空字符
样例输入
3
样例输出
20180861101,张亚佳,19,96.5 20180861102,韩云飞,20,94.5 20180861103,祖丞,21,92.5
解题代码
#coding=gbk """【""" import struct n=int(input()) f=open("stu.dat","rb") for i in range(n): stu_bytes=f.read(struct.calcsize('=11s10sid')) stu_tuple=struct.unpack('=11s10sid',stu_bytes) xh=str(stu_tuple[0],'GBK') xm=str(stu_tuple[1],'GBK').replace('\x00','') age,cj=stu_tuple[2],stu_tuple[3] print(xh,xm,age,cj,sep=",") f.close() """】"""

浙公网安备 33010602011771号