如何在tkinter filedialog中指定文件路径
在这篇文章中,我们将了解如何在tkinter filedialog中指定文件路径.
你是否正在创建一个GUI应用程序,希望用户在选择文件或保存文件时能直接打开一个特定的位置?那么,你一定要阅读这篇文章。本文将讨论如何在Tkinter对话框中指定文件路径.
filedialog模块
这个模块包括一组独特的对话框,可以在处理文件时使用。当你想为用户提供一个选项来浏览系统中的一个文件或一个目录时,它专门用于文件选择.
语法:
filetypes = ( (‘text files’, ‘*.txt’), (‘All files’, ‘.’) )
f = filedialog.askopenfile(filetypes=filetypes, initialdir=”#Specify the file path”)
参数:
filetypes – 文件类型
initialdir – 我们想要导航用户的初始位置。(例如,windows中下载文件夹的位置)
逐步实现:
第1步:首先,从Tkinter导入库,tk,ttk和filedialog.
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog as fd
第2步:现在,使用Tkinter创建一个GUI应用程序.
app = tk.Tk()
第3步:然后,给应用程序的标题和尺寸.
app.title('Tkinter Dialog')
app.geometry('300x150')
第4步:创建一个文本字段,用于放置从文件中提取的文本.
text = tk.Text(app, height=12)
第5步:指定文本字段的位置.
text.grid(column=0, row=0, sticky='nsew')
第6步:进一步,创建一个函数来打开文件对话框.
def open_text_file():
第6.1步:以后,指定文件类型.
filetypes = ( ('text files', '*.txt'), ('All files', '*.*') )
第6.2步:此外,在用户指定的路径上显示打开文件的对话框.
f = fd.askopenfile(filetypes=filetypes, initialdir="#Specify the file path")
第6.3步:在一个文本字段中插入从文件中提取的文本.
text.insert('1.0', f.readlines())
第7步:接下来,创建一个按钮,点击后将打开文件对话框.
open_button = ttk.Button(app, text='Open a File', command=open_text_file)
第8步:此外,指定GUI应用程序上的按钮位置.
open_button.grid(sticky='w', padx=#Specify the padding from x-axis,
pady=#Specify the padding from y-axis)
第9步:最后,调用一个无限循环,在屏幕上显示应用程序.
app.mainloop()
以下是完整的代码实现:
# 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()
输出: