首页 > 试题广场 >

2[问答] 编写程序,将包含学生成绩的字典保存为二进制文件,

[问答题]
编写程序,将包含学生成绩的字典保存为二进制文件,然后再读取内容并显示。
   import pickle
   
   def main():
       dic = {"li": 29, "wu":30, "zhao":30, "qian":50, "sun": 90}
       with open('dict.dat','wb') as f:
           pickle.dump(dic,f)
       f = open('dict.dat', 'rb')
       print(pickle.load(f))
       f.close()
  
  if __name__ == "__main__":
      main()

发表于 2019-04-22 09:59:37 回复(0)
import pickle
def main():
    dic={"Li":28,"Zhao":30,"Liu":34,"Fu":48}
    with open("dict.dat",'wb') as f:
        pickle.dump(dic,f)
    file="dict.dat"
    with open(file,'rb') as f:
        print(pickle.load(f))
if __name__=="__main__":
    main()

发表于 2020-06-29 10:40:07 回复(0)
#!/usr/bin/python3
import pickle
import os

def main():
    unserialize_student_grade = { "zhangsan":99, "lisi": 22, 'wangwu': 33, "zhaosi": 33, "niuer": 199}
    serialize_text = pickle.dumps(unserialize_student_grade)
    print("序列化内容", serialize_text)

    with open("student.txt", 'ab+') as f:
        f.write(serialize_text)

    content = ""
    if os.path.exists("student.txt"):
        with open("student.txt", 'rb') as f:
            content = f.read()
        unserialize_student_grade2 = pickle.loads(content)
        print("重新读取并展示:", unserialize_student_grade2)
    else:
        print("路径错误,无法打开指定文件")

if __name__ == "__main__":
    main()

发表于 2020-06-05 23:43:37 回复(0)
用序列化的那个包
发表于 2019-12-13 07:09:44 回复(0)
import pickle
# 建立存储学生成绩的字典
d = {'112': 23, '113': 32, '114': 34, '115': 36}
print(d)
with open("D:/chuangshiyuanling1.dat", 'wb') as f:
    pickle.dump(d, f)
with open("D:/chuangshiyuanling2.dat", 'rb') as f:
    s = pickle.load(f)
print(s)
# pickle dump()将数据写入dat
# pickle load()将数据读出

发表于 2019-07-16 11:32:54 回复(0)
json
发表于 2018-11-07 17:55:47 回复(0)
这个题,是变相考察序列化的使用,使用pickle库或则用更快的cpickle库将对象序列化就行,因为序列化就是2进制文件存储在文件中,例子如下 import pickle dic={}#要求中的字典 with open('dict.pkl','wb') as f: pickle.dump(dic,f) #结束
发表于 2018-09-27 20:02:20 回复(0)