使用 Tkinter returns IO 错误加载文件

Loading file with Tkinter returns IO error

所以我正在开发一个工具,它涉及用十六进制数据保存文件。 我想要发生的是你保存文件并用存储的十六进制数据覆盖该文件。但是,我收到一条错误消息:

TypeError: expected str, bytes or os.PathLike object, not _io.TextIOWrapper

我正在使用 Tkinter 的 asksaveasfile 保存文件,但它的 class 加载为 <class '_io.TextIOWrapper'>,而我希望它是 <class 'bytes'>。我该如何解决?

#Saving file
def savefile():
    filetypes = (
        ('level files', '*.level')
    )

   global content

   print(levelIcon.get()[0] + levelIcon.get()[1])

   savedFile = fd.asksaveasfile(defaultextension='.level',
                                filetypes= [('Level','.level')])
   if savedFile is None or filename is None or content is None:
       return

   print(type(savedFile))
   print(savedFile)
   print(content[1])
   with open(savedFile,"wb") as newFile:
       newFile.write(contents)
       newFile.close()

如果您检查 documentation,您会发现 asksaveasfile 不是 return 文件名。它 return 是一个打开的文件句柄。你只需要写信给它。

savedFile = fd.asksaveasfile( ... )
savedFile.write(contents)