【问题标题】:Code Error: TypeError: expected str, bytes or os.PathLike object, not _io.TextIOWrapper代码错误:TypeError:预期的 str、字节或 os.PathLike 对象,而不是 _io.TextIOWrapper
【发布时间】:2020-05-29 01:25:43
【问题描述】:

我正在尝试保存一个 .txt,但它出现此错误:TypeError: expected str, bytes or os.PathLike object, not _io.TextIOWrapper

代码如下:

def saveas():
    window.filename =  filedialog.asksaveasfile(initialdir = "/",title = "Select file",filetypes = (("text files","*.txt"),("all files","*.*")))
    file=open(window.filename, 'w')
    file.writelines(escritura.get('1.0', END))
    file.close()
    print(escritura.get('1.0', END))

如果你知道,请帮助我

【问题讨论】:

    标签: python python-3.x user-interface tkinter typeerror


    【解决方案1】:

    escritura.get('1.0', END) 可能是一个已经打开的文件,所以也许你应该做escritura.get('1.0', END).read(),因为我还不能评论,你能做type(escritura.get('1.0', END))

    【讨论】:

      【解决方案2】:

      使用.name 属性访问文件 --> window.filename.name

      例如:

      def saveas():
          window.filename =  filedialog.asksaveasfile(initialdir = "/",title = "Select file",filetypes = (("text files","*.txt"),("all files","*.*")))
          file=open(window.filename.name, 'w')
          file.writelines(escritura.get('1.0', END))
          file.close()
          print(escritura.get('1.0', END))
      

      【讨论】:

      • 因为 window.filename 是一个 TextIOWrapper 对象。您需要使用 .name 属性访问文件路径。试试打印window.filename看看吧
      猜你喜欢
      • 2019-04-11
      • 2020-06-27
      • 1970-01-01
      • 2022-11-09
      • 2021-03-05
      • 2017-10-23
      • 2020-07-12
      • 2021-10-21
      相关资源
      最近更新 更多