Почему не работает модуль tkFileDialog? Значит решил я написать десктопную программу на Python 3.2(не спрашиваёте для чего этот модуль) и в импорте написал такой код:from tkinter import *
import tkFileDialog
А дальше пишу:def LoadFile(ev):
fn = tkFileDialog.Open(root, filetypes=[('*.txt files', '.txt')]).show()
if fn == '':
return
textbox.delete('1.0', 'end')
textbox.insert('1.0', open(fn, 'rt').read())
Оно выдаёт: NameError: global name 'tkFileDialog' is not defined.
Может быть нужно скачать tkFileDialog?Если да, то где?

21 Авг 2019 в 06:29
240 +1
0
Ответы
1

Модуль tkFileDialog был переименован в tkinter.filedialog в Python 3.2. Поэтому вместо

import tkFileDialog

нужно использовать

from tkinter import filedialog

И далее изменить соответствующие строки кода на

fn = filedialog.askopenfilename(filetypes=[('*.txt files', '.txt')])
textbox.delete('1.0', 'end')
textbox.insert('1.0', open(fn, 'rt').read())

Это должно исправить проблему и заставить вашу программу работать корректно. Не нужно скачивать отдельно файл, модуль filedialog уже включен в стандартную библиотеку tkinter.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир