728x90
반응형
import os
import tkinter as tk
from tkinter import filedialog, messagebox, ttk
def folder_select():
global dir_path
dir_path = filedialog.askdirectory(initialdir="/", title="폴더를 선택 해 주세요")
if not dir_path:
messagebox.showwarning("경고", "폴더를 선택 하세요")
else:
res = os.listdir(dir_path)
ent2.delete(0, tk.END)
if not res:
messagebox.showwarning("경고", "폴더내 파일이 없습니다.")
else:
ent2.insert(0, dir_path)
for file in res:
treeview.insert("", "end", values=[dir_path, file], iid=file)
def fileNm_search():
fileNm = ent1.get()
if not dir_path:
messagebox.showwarning("경고", "폴더를 먼저 선택하세요.")
return
found = False
for child in treeview.get_children():
values = treeview.item(child, 'values')
if fileNm.lower() in values[1].lower():
treeview.selection_set(child)
found = True
break
if not found:
messagebox.showinfo("알림", f"'{fileNm}' 파일을 찾을 수 없습니다.")
root = tk.Tk()
root.title("Camp Lee Python")
root.geometry("390x290")
dir_path = None
treeview = ttk.Treeview(root, columns=["path", "fileName"], displaycolumns=["path", "fileName"])
treeview.column("path", width=190, anchor="center")
treeview.heading("path", text="경로", anchor="center")
treeview.column("fileName", width=190, anchor="center")
treeview.heading("fileName", text="파일명", anchor="center")
treeview["show"] = "headings"
ent1 = tk.Entry(font=('맑은 고딕', 10, 'bold'), bg='white', width=20)
ent2 = tk.Entry(font=('맑은 고딕', 10, 'bold'), bg='white', width=20)
ent1.grid(row=2, column=2)
tk.Button(root, text="파일명검색", width=10, command=fileNm_search).grid(row=2, column=3)
ent2.grid(row=1, column=2)
tk.Button(root, text="경로선택", width=10, command=folder_select).grid(row=1, column=3)
treeview.grid(row=3, column=2, columnspan=2, padx=5, pady=5)
root.mainloop()
동작 화면
1. 실행
2. 디렉토리 검색
3. 파일명 검색
728x90
반응형
'백수 > 파이썬' 카테고리의 다른 글
파이썬 텍스트 음성 변환 (0) | 2023.11.18 |
---|---|
파이썬 sqlite3 연동, 생성, 조회, 수정, 삭제 (0) | 2023.11.18 |
파이썬 실행파일 만들기 (0) | 2023.11.11 |
파이썬 비밀번호 랜덤 생성 (0) | 2023.11.11 |
자판기 (0) | 2023.09.12 |