欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python+PyQt5來實現(xiàn)文件高速查找

 更新時間:2023年07月19日 11:37:12   作者:W金剛葫蘆娃W  
這篇文章主要為大家詳細介紹了如何模擬Everything,即通過python+PyQt5來實現(xiàn)可視化文件的高速查找,文中的示例代碼講解詳細,需要的可以參考一下

一、功能

模擬Everything,通過python+PyQt5來實現(xiàn)可視化文件的高速查找。

二、代碼

import os
import threading
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QTextBrowser, QPushButton, QComboBox
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt, pyqtSignal, QObject
 
 
class FileSearchThread(QObject):
    search_result_found = pyqtSignal(str)
    search_finished = pyqtSignal()
 
    def __init__(self, disk, search_text):
        super().__init__()
        self.disk = disk
        self.search_text = search_text
        self.found_files = []
 
    def search_files(self):
        for root, dirs, files in os.walk(self.disk):
            for file in files:
                if self.search_text.lower() in file.lower():
                    file_path = os.path.join(root, file)
                    self.found_files.append(file_path)
                    self.search_result_found.emit(file_path)
 
        self.search_finished.emit()
 
 
class FileSearchApp(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('文件搜索')
        self.setGeometry(200, 600, 1340, 800)
 
        self.search_label = QLabel("搜索關鍵字:")
        self.search_label.setFont(QFont('Arial', 12))
        self.search_textbox = QLineEdit()
        self.search_textbox.setFont(QFont('Arial', 12))
 
        self.search_button = QPushButton('搜索')
        self.search_button.setFont(QFont('Arial', 12))
        self.search_button.clicked.connect(self.start_search)
 
 
        self.search_results = QTextBrowser()
        self.search_results.setFont(QFont('Arial', 12))
        self.search_status_label = QLabel()
        self.search_status_label.setFont(QFont('Arial', 12))
 
        layout = QVBoxLayout()
        layout.addWidget(self.search_label)
        layout.addWidget(self.search_textbox)
        layout.addWidget(self.search_button)
        layout.addWidget(self.search_status_label)
        layout.addWidget(self.search_results)
        self.setLayout(layout)
 
    def start_search(self,disks):
        disks= ['C:','D:','E:','F:']   #本地電腦的磁盤列表
        search_text = self.search_textbox.text()
        # print(disk)
        self.search_results.clear()
        self.search_status_label.setText("正在搜索...")
        self.search_status_label.adjustSize()
        for disk in disks:
            if disk and search_text:
                file_search_thread = FileSearchThread(disk, search_text)
                file_search_thread.search_result_found.connect(self.display_result)
                file_search_thread.search_finished.connect(self.search_finished)
 
                self.worker_thread = threading.Thread(target=file_search_thread.search_files)
                self.worker_thread.start()
 
    def display_result(self, file_path):
        self.search_results.append(file_path)
 
    def search_finished(self):
        self.search_status_label.setText("搜索完成")
        self.search_status_label.adjustSize()
        self.worker_thread.join()
 
 
if __name__ == '__main__':
    app = QApplication([])
    file_search_app = FileSearchApp()
    file_search_app.show()
    app.exec_()

三、運行結果

到此這篇關于Python+PyQt5來實現(xiàn)文件高速查找的文章就介紹到這了,更多相關Python文件查找內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 深入理解python中sort()與sorted()的區(qū)別

    深入理解python中sort()與sorted()的區(qū)別

    Python list內(nèi)置sort()方法用來排序,也可以用python內(nèi)置的全局sorted()方法來對可迭代的序列排序生成新的序列。這篇文章主要介紹了python中sort()與sorted()的區(qū)別,需要的朋友可以參考下
    2018-08-08
  • 使用python爬蟲獲取黃金價格的核心代碼

    使用python爬蟲獲取黃金價格的核心代碼

    這篇文章主要介紹了利用python爬蟲獲取黃金價格,需要的朋友可以參考下
    2018-06-06
  • matplotlib中l(wèi)egend位置調整解析

    matplotlib中l(wèi)egend位置調整解析

    這篇文章主要介紹了matplotlib中l(wèi)egend位置調整解析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • python 寫一個性能測試工具(一)

    python 寫一個性能測試工具(一)

    這篇文章主要介紹了利用python 寫一個性能測試工具,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • Python sqlalchemy時間戳及密碼管理實現(xiàn)代碼詳解

    Python sqlalchemy時間戳及密碼管理實現(xiàn)代碼詳解

    這篇文章主要介紹了Python sqlalchemy時間戳及密碼管理實現(xiàn)代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Python實現(xiàn)CET查分的方法

    Python實現(xiàn)CET查分的方法

    這篇文章主要介紹了Python實現(xiàn)CET查分的方法,實例分析了Python操作鏈接查詢的技巧,需要的朋友可以參考下
    2015-03-03
  • python擴展庫numpy入門教程

    python擴展庫numpy入門教程

    這篇文章主要為大家介紹了python擴展庫numpy入門教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2021-11-11
  • Django自定義權限及用戶分組

    Django自定義權限及用戶分組

    這篇文章主要為大家介紹了Django登錄權限及分組模板使用權限,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • PyQt5+QtChart實現(xiàn)繪制曲線圖

    PyQt5+QtChart實現(xiàn)繪制曲線圖

    QChart是一個QGraphicScene中可以顯示的QGraphicsWidget。本文將利用QtChart實現(xiàn)曲線圖的繪制,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-12-12
  • python write無法寫入文件的解決方法

    python write無法寫入文件的解決方法

    今天小編就為大家分享一篇python write無法寫入文件的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論