首页 > 其他分享 >(文件操作)将键盘输入n个学生信息写入二进制文件stu.dat,其中学号11个字符长度、姓名10个字符长度的字符串,都以GBK格式保存,年龄以4字节有符号整型数保存,成绩以双精度浮点数保存,不要求字节

(文件操作)将键盘输入n个学生信息写入二进制文件stu.dat,其中学号11个字符长度、姓名10个字符长度的字符串,都以GBK格式保存,年龄以4字节有符号整型数保存,成绩以双精度浮点数保存,不要求字节

时间:2022-10-29 10:57:02浏览次数:51  
标签:字节 保存 dat stu x00 输入

样例输入

2
20180861101 张亚佳 18 91.5
20180861102 韩云飞 19 89.5

 

样例输出

文件内容:[b'20180861101\xd5\xc5\xd1\xc7\xbc\xd1\x00\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00 X@20180861102\xba\xab\xd4\xc6\xb7\xc9\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\xa0W@']

 

解题代码

#coding=gbk
import struct
from readbin import ReadFile
import os
FileName="stu.dat"
if os.path.exists(FileName):#如果文件存在
    os.remove(FileName)#删除文件
"""【"""
n=int(input())
f=open("stu.dat","wb")
for i in range(n):
    xh,xm,age,cj=map(str,input().split())
    age=int(age)+1
    cj=float(cj)+5.0
    stu=struct.pack('=11s10sid',bytes(xh,"GBK"),bytes(xm,"GBK"),age,cj)
    f.write(stu)
f.close()
"""】"""
ReadFile(FileName)#输出保存内容

 

标签:字节,保存,dat,stu,x00,输入
From: https://www.cnblogs.com/hghdbk/p/16838236.html

相关文章