我可以获取文件中的所有对象。这是我遇到的错误: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条经验 获得超13个赞
如果您正在编写一个新文件,如果该文件不存在,则会创建该文件,但open("Resultfill", "rb")
您已经说过要从该文件中读取内容。创建一个新文件然后尝试从中读取没有多大意义,因此您会收到错误。
如果您尝试读取某个文件,请确保该文件存在并且您使用的是正确的路径。
如果您尝试创建新文件或覆盖现有文件,请使用open("Resultfill", "wb")
添加回答
举报
0/150
提交
取消