filedialog, tkinter e arquivos de abertura

Estou trabalhando pela primeira vez na codificação de um botão Procurar para um programa em Python3. Estive pesquisando na Internet, neste site e até na biblioteca padrão do python.

Encontrei um exemplo de código e explicações muito superficiais sobre as coisas, mas não consegui encontrar nada que resolva o problema que estou tendo diretamente ou uma explicação suficientemente boa para que eu possa personalizar o código de acordo com minhas necessidade

Aqui está o trecho relevante:

Button(self, text = "Browse", command = self.load_file, width = 10)\
        .grid(row = 1, column = 0, sticky = W) .....


 def load_file(self):

    filename = filedialog.askopenfilename(filetypes = (("Template files", "*.tplate")
                                                         ,("HTML files", "*.html;*.htm")
                                                         ,("All files", "*.*") ))
    if filename: 
        try: 
            self.settings["template"].set(filename)
        except: 
            messagebox.showerror("Open Source File", "Failed to read file \n'%s'"%filename)
            return

O método é um híbrido de algum código que encontrei ao longo do caminho com minhas próprias personalizações. Parece que finalmente o fiz funcionar (meio que), embora não seja exatamente como eu precis

Recebo este erro ao ativar o botão 'Procurar':NameError: global name 'filedialog' is not defined.

Encontrei problemas bastante semelhantes ao longo do caminho, mas todas as soluções sugeridas foram abordadas. Entrei na seção de ajuda do 'IDIADO' do IDLE, mas também não recolhi nad

Alguém se importaria em fornecer um detalhamento e um pouco de orientação sobre isso; nenhum dos meus livros trata especificamente disso e verifiquei todas as soluções fornecidas a outras pessoas - estou perdid

questionAnswers(6)

yourAnswerToTheQuestion