Open In App

How to specify the file path in a tkinter filedialog?

Last Updated : 22 Jun, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we are going to know how to specify the file path in a tkinter filedialog.

Are you creating a GUI app in which you want the user to directly open a specific location while selecting a file or saving a file? Then, you must definitely read this article. This article will discuss how to specify the file path in a Tkinter dialog.

filedialog Module

This module includes a set of unique dialogs which can be used while dealing with files. It is specifically used for the file selection when you want to provide an option to user to browse a file or a directory from the system.

Syntax:

filetypes = ( (‘text files’, ‘*.txt’), (‘All files’, ‘*.*’) )

f = filedialog.askopenfile(filetypes=filetypes, initialdir=”#Specify the file path”)

Parameter:

filetypes – Type of file

initialdir – Initial location where we want to navigate a user. (eg. location of download folder in windows)

Stepwise Implementation:

Step 1: First of all, import the libraries, tk, ttk, and filedialog from Tkinter.

import tkinter as tk
from tkinter import ttk
from tkinter import filedialog as fd

Step 2: Now, create a GUI app using Tkinter.

app = tk.Tk()

Step 3: Then, give the title and dimensions to the app.

app.title('Tkinter Dialog')
app.geometry('300x150')

Step 4: Create a text field for putting the text extracted from the file.

text = tk.Text(app, height=12)

Step 5: Specify the location of the text field.

text.grid(column=0, row=0, sticky='nsew')

Step 6: Further, create a function to open the file dialog.

def open_text_file():

Step 6.1: Later on, specify the file types.

   filetypes = ( ('text files', '*.txt'), ('All files', '*.*') )

Step 6.2: Moreover, show the open file dialog at the specified path by the user.

   f = fd.askopenfile(filetypes=filetypes, initialdir="#Specify the file path")

Step 6.3: Insert the text extracted from a file in a text field.

text.insert('1.0', f.readlines())

Step 7: Next, create a button that when clicked will open the file dialog.

open_button = ttk.Button(app, text='Open a File', command=open_text_file)

Step 8: Furthermore, specify the position of the button on the GUI app.

open_button.grid(sticky='w', padx=#Specify the padding from x-axis,
 pady=#Specify the padding from y-axis)

Step 9: At last, call an infinite loop for displaying the app on the screen.

app.mainloop()

Below is the complete implementation: 

Python




# Python program to specify the file
# path in a tkinter file dialog
  
# Import the libraries tk, ttk, filedialog
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog as fd
  
# Create a GUI app
app = tk.Tk()
  
# Specify the title and dimensions to app
app.title('Tkinter Dialog')
app.geometry('600x350')
  
# Create a textfield for putting the
# text extracted from file
text = tk.Text(app, height=12)
  
# Specify the location of textfield
text.grid(column=0, row=0, sticky='nsew')
  
# Create a function to open the file dialog
  
  
def open_text_file():
  
    # Specify the file types
    filetypes = (('text files', '*.txt'),
                 ('All files', '*.*'))
  
    # Show the open file dialog by specifying path
    f = fd.askopenfile(filetypes=filetypes,
                       initialdir="D:/Downloads")
  
    # Insert the text extracted from file in a textfield
    text.insert('1.0', f.readlines())
  
  
# Create an open file button
open_button = ttk.Button(app, text='Open a File',
                         command=open_text_file)
  
# Specify the button position on the app
open_button.grid(sticky='w', padx=250, pady=50)
  
# Make infinite loop for displaying app on the screen
app.mainloop()


Output:

How to specify the file path in a tkinter filedialog?

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads