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