为了账号安全,请及时绑定邮箱和手机立即绑定

获取文件二进制文件的对象

获取文件二进制文件的对象

一只甜甜圈 2023-09-19 14:30:55
我可以获取文件中的所有对象。这是我遇到的错误:with open("Resultfill", "rb") as Resultfillread:    FileNotFoundError: [Errno 2] No such file or directory: 'Resultfill'这意味着该文件不存在。由于下面的答案,这个问题已经解决。但我总是无法访问文件中包含的对象,特别是使用yield. 这是文件二进制文件“testfile”中包含的对象di = {"c1": 3, "c2": 5, "c3": 13, "c4": 12, 5: 8, 6: 8, 7: 1, 8: 5, 9: 12, 10: 2, 11: 20, 12: 16, 13: 45, 14: 6, 15: 4 }di = {1: 3, 2: 5, 3: 13, 4: 12, 5: 8, 6: 8, 7: 1, 8: 5, 9: 12, 10: 2, 11: 20, 12: 16, 13: 45, 14: 6, 15: 4 }这是代码:os.chdir("C:/Program Files/Sublime Text 3/testpython")open("testfile", "ab")def loadobject(fillname):        with open(filename, "rb") as test:            while True:                 try:                     yield pickle.load(test)                 except EOFError:                     breakgenaratetest = loadobject("testfile")print(Resultfillwrite)for testobject in genaratetest:     print(testobject)我希望 print(testobject) 每次循环打印一个对象,在本例中,第一个字典“di”,然后是第二个。
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超12个赞

如果您正在编写一个新文件,如果该文件不存在,则会创建该文件,但open("Resultfill", "rb")您已经说过要从该文件中读取内容。创建一个新文件然后尝试从中读取没有多大意义,因此您会收到错误。

如果您尝试读取某个文件,请确保该文件存在并且您使用的是正确的路径。

如果您尝试创建新文件或覆盖现有文件,请使用open("Resultfill", "wb")


查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 40 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信