Ошибка кода: TypeError: ожидаемый объект str, bytes или os.PathLike, а не _io.TextIOWrapper - PullRequest
2 голосов
/ 13 февраля 2020

Я пытаюсь сохранить .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))

Если вы знаете это, пожалуйста, помогите мне

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Используйте атрибут .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))
0 голосов
/ 13 февраля 2020

escritura.get('1.0', END), возможно, уже открытый файл, поэтому, возможно, вам следует сделать escritura.get('1.0', END).read(), так как я пока не могу комментировать, вы можете сделать type(escritura.get('1.0', END))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...