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

我可以获取文件中的所有对象。这是我遇到的错误:


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:

                     break


genaratetest = loadobject("testfile")

print(Resultfillwrite)

for testobject in genaratetest:

     print(testobject)

我希望 print(testobject) 每次循环打印一个对象,在本例中,第一个字典“di”,然后是第二个。


一只甜甜圈
浏览 61回答 1
1回答

萧十郎

如果您正在编写一个新文件,如果该文件不存在,则会创建该文件,但open("Resultfill", "rb")您已经说过要从该文件中读取内容。创建一个新文件然后尝试从中读取没有多大意义,因此您会收到错误。如果您尝试读取某个文件,请确保该文件存在并且您使用的是正确的路径。如果您尝试创建新文件或覆盖现有文件,请使用open("Resultfill", "wb")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python