FileDialog

O módulo filedialog fornece um conjunto de métodos para encontrar ou criar ficheiros numa pasta.

filedialog.metodo( [parent=p] [, titulo=t] [, initialdir=id] [, initialfile=id] [, filetypes=f] [, defaultextension=de])

Os argumentos são os mesmos para todos os métodos:

parent

Opcional. Para fazer a caixa de diálogo aparecer sobre a janela p. Por defeito, aparece sobre a janela de raiz da aplicação.

title

Opcional. Título opcional a aparecer no topo da caixa de diálogo.

initialdir

Opcional. Caminho da pasta a ser mostrada inicialmente. Por defeito, é a pasta corrente.

initialfile

Opcional. Nome do ficheiro a ser mostrado na caixa ‘Nome do ficheiro’.

filetypes

Opcional. Lista de tuplos de dois elementos que contêm tipos de ficheiros e padrões correspondentes que servirão para selecionar os ficheiros que aparecem na lista de ficheiros.

Exemplo:

 [('todos os ficheiros', '.*'), ('ficheiros de texto', '.txt')]

defaultextension

Opcional. String com a extensão do ficheiro de defeito. Exemplo: ‘.gif’

Métodos

Os métodos que se podem usar no módulo filedialog são os seguintes:

filedialog.askdirectory()

Serve para o utilizador selecionar uma pasta de uma listagem de pastas.

from tkinter import filedialog

p = filedialog.askdirectory(parent=window,
                                 initialdir=os.getcwd(), #pasta corrente
                                 title="Selecione uma pasta:")

Output:

filedialog.askopenfilename()

Serve para o utilizador selecionar um ficheiro existente, de uma lista de ficheiros.

from tkinter import filedialog

tipos_ficheiros = [('todos os ficheiros', '.*'), ('ficheirosde texto', '.txt')]

f = filedialog.askopenfilename(parent=window,
                                    initialdir=os.getcwd(),
                                    title="Selecione um ficheiro:",
                                    filetypes=tipos_ficheiros)

Output:

filedialog.askopenfilenames()

Serve para o utilizador selecionar um ou mais ficheiros existentes, de uma lista de ficheiros.

from tkinter import filedialog

tipos_ficheiros = [('todos os ficheiros', '.*'), ('ficheirosde texto', '.txt')]

f = filedialog.askopenfilenames(parent=window,
                                     initialdir=os.getcwd(),
                                     title="Selecione ficheiro(s):",
                                     filetypes=tipos_ficheiros)

Output:

filedialog.asksaveasfilename()

Serve para o utilizador criar um novo ficheiro ou substituir um ficheiro existente.

from tkinter import filedialog

tipos_ficheiros = [('todos os ficheiros', '.*'), ('ficheirosde texto', '.txt')]

r = filedialog.asksaveasfilename(parent=window,
                                      initialdir=os.getcwd(),
                                      title="Guardar como:",
                                      filetypes=tipos_ficheiros)

Output: