#python #file #tkinter #directory
#python #файл #tkinter #каталог
Вопрос:
Я создал функцию, которая ищет файл .txt в папке, а затем считывает его и печатает результаты в другом файле .txt.
import os
# this will check for the file list file in the d3 folder
def file_list():
for f_name in os.listdir('D:\d3 Projects\python_test'):
if f_name.endswith('.txt'):
print(f_name)
# this will read and print the filelist.txt file
myfile = open("D:\d3 Projects\python_test\filelist.txt", "r")
contents = myfile.read()
myfile.close()
print(contents)
if __name__ == "__main__":
file_list()
Теперь я хотел бы сделать путь ввода и путь вывода выбираемыми пользователем с помощью небольшого интерфейса. (Я думал использовать tkinter.)
Есть идеи о том, как я могу это сделать? Я смог создать окно и кнопку просмотра, но я не знаю, как сохранить его в своей функции.
Комментарии:
1. Tkinter поддерживает собственные диалоговые окна файлов .
Ответ №1:
Вы можете попробовать это:
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
class Root(Tk):
def __init__(self):
super(Root, self).__init__()
self.title("Python Tkinter Dialog Widget")
self.minsize(640, 400)
self.wm_iconbitmap('icon.ico')
self.labelFrame = ttk.LabelFrame(self, text = "Open File")
self.labelFrame.grid(column = 0, row = 1, padx = 20, pady = 20)
self.button()
def button(self):
self.button = ttk.Button(self.labelFrame, text = "Browse A File",command = self.fileDialog)
self.button.grid(column = 1, row = 1)
def fileDialog(self):
self.filename = filedialog.askopenfilename(initialdir = "/", title = "Select A File", filetype =
(("jpeg files","*.jpg"),("all files","*.*")) )
self.label = ttk.Label(self.labelFrame, text = "")
self.label.grid(column = 1, row = 2)
self.label.configure(text = self.filename)
root = Root()
root.mainloop()
Комментарии:
1. Вы можете попробовать это для небольшого интерфейса
2. Извините за задержку. Я создал интерфейс, я просто хотел понять, как сохранить путь, который я получаю из диалога с файлом, в моей функции. Здесь: