美文网首页
让你硬盘中的秘密文件(私人学习资料)无处可藏,Python开发文

让你硬盘中的秘密文件(私人学习资料)无处可藏,Python开发文

作者: Python案例教学 | 来源:发表于2021-10-27 14:33 被阅读0次

本次主要内容

  • tkinter 的使用
  • 桌面应用程序开发

开发环境

  1. 解释器: Python 3.8.8 | Anaconda, Inc.
  2. 编辑器: pycharm 专业版

先演示效果

开始代码,先导入模块

import tkinter as tk
from tkinter import filedialog
import os

创建窗口

root = tk.Tk()
root.geometry('600x300')
root.title('学习资料搜索工具')

root.mainloop()

搜索栏

search_frame = tk.Frame(root)
search_frame.pack()

tk.Label(search_frame, text='关键字:').pack(side=tk.LEFT, padx=10, pady=10)
key_entry = tk.Entry(search_frame)  # 创建一个输入框
key_entry.pack(side=tk.LEFT, padx=10, pady=10)  # 将输入框显示到界面
tk.Label(search_frame, text='文件类型:').pack(side=tk.LEFT, padx=10, pady=10)
type_entry = tk.Entry(search_frame)
type_entry.pack(side=tk.LEFT, padx=10, pady=10)
button = tk.Button(search_frame, text='搜索')
button.pack(side=tk.LEFT, padx=10, pady=10)

显示框

list_box = tk.Listbox(root)
list_box.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

点击搜索按钮

def search():
    print('按钮被点击了')

button.config(command=search)

1. 获取关键字、文件类型

key = key_entry.get()
file_type = type_entry.get()
print(key, file_type)

2. 实现搜索功能

dir_path = filedialog.askdirectory()
print(dir_path)  # 遍历文件,实现搜索功能
file_list = os.walk(dir_path)
for root_path, dirs, files in file_list:
    # 目录路径,目录下的子目录,目录下的文件
    # print(root_path, dirs, files)
    for file in files:
        # 过滤文件类型,搜索关键字
        if type_entry:  # py 如果输入了类型,就进行过滤,如果没有输入,就不过滤类型
            if file.endswith(file_type):
                # 搜索关键字
                content = open(root_path + '/' + file, mode='r', encoding='utf-8-sig').read()
                if key in content:
                    print(root_path + '/' + file)
                    # 把结果显示到界面上
                    list_box.insert(tk.END, root_path + '/' + file)

创建滚动窗口并布局到页面上

sb = tk.Scrollbar(root)
sb.pack(side=tk.RIGHT, fill=tk.Y)
sb.config(command=list_box.yview)
list_box.config(yscrollcommand=sb.set)

触发绑定事件

list_box.bind('<Double-Button-1>', list_click)

1. 获取到选中的内容

def list_click(event):
    print('列表框组件的内容被点击了')
    index = list_box.curselection()[0]
    path = list_box.get(index)
    print(path)

2. 读取选中路径的内容

content = open(path, mode='r', encoding='utf-8').read()
print(content)

3. 将内容显示到新的窗口

top = tk.Toplevel(root)
filename = path.split('/')[-1]
top.title(filename)
text = tk.Text(top)
text.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
text.insert(tk.END, content)

相关文章

  • 让你硬盘中的秘密文件(私人学习资料)无处可藏,Python开发文

    本次主要内容 tkinter 的使用 桌面应用程序开发 开发环境 解释器: Python 3.8.8 | Anac...

  • 现代让人你“无处可藏”

    人类的通讯手段越来越“先进”,越来越“现代” 座机、传呼机、移动电话、智能手机、4G、5G、语音、视频通讯…… 还...

  • Python最为神奇的库,可控制你的鼠标键盘自动运行!

    这个库让你可以控制和监控输入设备。 Python学习资料获取加群:700341555即可获取Python学习资料!...

  • 无处可藏

  • 无处可藏

    孩子们光着上身, 挽起裤脚, 拿石头朝河里砸, 尖叫着搅动水花, 惊慌失措的小鱼乱串, 躲在草窠下的杂草里, ...

  • 无处可藏

    如果你没有站在 我的心尖上 为何每一次想念 都会感到窒息般的沉重 如果 你不是锋利的刀刃 为何每一次回首 我的心 ...

  • 无处可藏

    不知道为什么,我对气味特别敏感。 如果闻到漆味,汽车尾气,或者盗版印刷品,我嘴里的唾液就变得发苦,嗓子也苦,有病是...

  • 无处可藏

    虽然已经和这家人一起生活了一段日子,我还是难以喜欢他们,当然,我想他们也有同样的感受。 首先,他们有洁癖,无论是窗...

  • 无处可藏

    我把儿子早点买好放在桌上,看看时间是9:15了。不由得叹了口气:都这个点了还在睡觉! 啥叫放假...

  • 躲藏

    你就是那雨中的树 无处可藏

网友评论

      本文标题:让你硬盘中的秘密文件(私人学习资料)无处可藏,Python开发文

      本文链接:https://www.haomeiwen.com/subject/srxyaltx.html