最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python實(shí)現(xiàn)自制文件搜索小工具

 更新時(shí)間:2022年09月21日 08:35:52   作者:小圓-  
當(dāng)自己電腦文件很多還有點(diǎn)亂,不記得自己文件放哪里的時(shí)候,用電腦自帶的搜索文件,這個(gè)等待時(shí)間可慢了。所以我們不如自己用python做一個(gè)搜索工具!犄角旮旯的文件都能一秒鐘搜索出來的那種

前言

嗨嗨,大家晚上好 ~

當(dāng)自己電腦文件很多還有點(diǎn)亂,不記得自己文件放哪里的時(shí)候,用電腦自帶的搜索文件,這個(gè)等待時(shí)間可慢了

對我們這種敲代碼的,這能忍嗎,所以我們不如自己用python做一個(gè)搜索工具!犄角旮旯的文件都能一秒鐘搜索出來的那種!

一不小心還能把你們男(女)朋友那些藏的很深的不可告人的文件分分鐘找出來~

話不多說,趕緊開始吧

環(huán)境準(zhǔn)備

解釋器: Python 3.8.8 | Anaconda, Inc.

編輯器: pycharm 專業(yè)版

完整代碼

就不把代碼單列出來咯,一次全放出來 ~

我在里面寫了注釋哦

import tkinter as tk
from tkinter import filedialog
import os

root = tk.Tk()
root.geometry('600x300')
root.title('學(xué)習(xí)資料搜索工具')

"""搜索框"""
search_frame = tk.Frame(root)
search_frame.pack()

tk.Label(search_frame, text='關(guān)鍵字:').pack(side=tk.LEFT, padx=10, pady=10)
key_entry = tk.Entry(search_frame)  # 創(chuàng)建一個(gè)輸入框
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)

"""點(diǎn)擊按鈕搜索文件"""


def search():
    print('按鈕被點(diǎn)擊了')
    # 1. 獲取關(guān)鍵字、文件類型
    key = key_entry.get()
    file_type = type_entry.get()
    print(key, file_type)
    # 2. 讀取 windows 系統(tǒng)的文件
    dir_path = filedialog.askdirectory()
    print(dir_path)  # 遍歷文件,實(shí)現(xiàn)搜索功能
    file_list = os.walk(dir_path)
    for root_path, dirs, files in file_list:
        # 目錄路徑,目錄下的子目錄,目錄下的文件
        # print(root_path, dirs, files)
        for file in files:
            # 過濾文件類型,搜索關(guān)鍵字
            if type_entry:  # py 如果輸入了類型,就進(jìn)行過濾,如果沒有輸入,就不過濾類型
                if file.endswith(file_type):
                    # 搜索關(guān)鍵字
                    content = open(root_path + '/' + file, mode='r', encoding='utf-8-sig').read()
                    if key in content:
                        print(root_path + '/' + file)
                        # 把結(jié)果顯示到界面上
                        list_box.insert(tk.END, root_path + '/' + file)
    # 3. 實(shí)現(xiàn)搜索功能
    # 4. 將搜索到的結(jié)果顯示到界面


# 創(chuàng)建滾動窗口并布局到頁面上
sb = tk.Scrollbar(root)
sb.pack(side=tk.RIGHT, fill=tk.Y)
sb.config(command=list_box.yview)
list_box.config(yscrollcommand=sb.set)

button.config(command=search)


def list_click(event):
    print('列表框組件的內(nèi)容被點(diǎn)擊了')
    # 1. 獲取到選中的內(nèi)容
    index = list_box.curselection()[0]
    path = list_box.get(index)
    print(path)
    # 2. 讀取選中路徑的內(nèi)容
    content = open(path, mode='r', encoding='utf-8').read()
    print(content)
    # 3. 將內(nèi)容顯示到新的窗口
    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)


# 綁定點(diǎn)擊事件
list_box.bind('<Double-Button-1>', list_click)

root.mainloop()

到此這篇關(guān)于利用Python實(shí)現(xiàn)自制文件搜索小工具的文章就介紹到這了,更多相關(guān)Python文件搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

德格县| 弥渡县| 梁平县| 凌云县| 新邵县| 武功县| 龙井市| 澳门| 博爱县| 鄯善县| 社旗县| 镇赉县| 平定县| 肥西县| 湖南省| 南部县| 廉江市| 桑植县| 陇南市| 湄潭县| 隆化县| 博野县| 古蔺县| 平阴县| 广河县| 铜鼓县| 吉林省| 昭平县| 安国市| 北票市| 诏安县| 石渠县| 肃南| 遂川县| 永定县| 东方市| 玉林市| 基隆市| 望奎县| 革吉县| 东莞市|