仿everything之python制作本地文件搜索器

仿everything之python制作本地文件搜索器主要功能1.可以快速定位本地文件2.可以在word和excle文件中搜索匹配内容界面需求1.文件搜索按钮2.浏览路径按钮3.更新数据库按钮4.显示文件名和路径列表框系统设计1.使用数据库用来存储路径和文件名2.openpyxl和docx模块实现word和excle文件内部搜索3.os操作4.数据库的增删改查优点与缺...
摘要由CSDN通过智能技术生成

仿everything之python制作本地文件搜索器

主要功能

1.可以快速定位本地文件
2.可以在word和excle文件中搜索匹配内容

界面需求

1.文件搜索按钮
2.浏览路径按钮
3.更新数据库按钮
4.显示文件名和路径列表框
Alt

系统设计

1.使用数据库用来存储路径和文件名
2.openpyxl和docx模块实现word和excle文件内部搜索
3.os操作
4.数据库的增删改查

优点与缺点

优点是增加了文件内部搜索
缺点是因为增加了内部搜索导致搜索速度会变慢

需求分析

在现代数据时代的快速发展下,人们的数据越来越多,越来越复杂,经常会忘记自己的一个文件不知道放在哪,这个时候就需要一个文件搜索系统,来快速定位此文件并打开,虽然windows系统一般都会自带搜索框,但自带的搜索太慢,而且不能搜索到内部的内容,比如搜索一个word文件或者excel文件内的一个词语,所以需要一个外部的搜索系统来帮助我们更快更准确得找到我们的文件,所以我们需要一个数据库,来更新存储我们的文件路径等信息,然后通过数据库的查找或者正则表达式查找来快速准确得定位到我们得文件.
除了使用到数据库,还需要程序本身能去查找目录,查找文件,甚至是文件内得内容,目前是word和excel文件使用得比较多,因此搜索功能搜索文件内部的内容先只支持这两个,查找目录和文件需要使用到python的os操作,这是一个十分强大的模块.
功能完成外,还需要一个用户使用的界面,我主要使用了wxpython这个界面,里面需要有搜索按钮,更新数据库按钮,浏览文件按钮,还需要两个listbox来展示我们搜索到的文件路径和名称,告诉用户这是来自文件内部搜索,还是外部搜索,并且可以通过点击其中一行列表可以直接打开文件,这样就达到了从搜索到打开的快捷方式

代码部分:

1、界面

class DirDialog(wx.Frame):
 def __init__(self):
    """Constructor"""
    super(DirDialog, self).__init__()
    wx.Frame.__init__(self, None, wx.ID_ANY, "文件浏览器", pos = (0, 0), size = (730, 580))
    self.Center()
    panel = wx.Panel(parent = self)  # 面板
    b = wx.Button(panel, -1, '浏览', pos = (600, 90))

    c = wx.Button(panel, -1, '更新搜索范围', pos = (600, 160))

    a = wx.Button(panel, -1, '搜索', pos = (600, 50))
    self.Bind(wx.EVT_BUTTON, self.search_file, a)
    self.Bind(wx.EVT_BUTTON, self.OnButton, b)
    self.Bind(wx.EVT_BUTTON, self.update_db, c)

    self.inputText1= wx.TextCtrl(panel, -1, '', pos = (87, 50), size = (500, 30), name = 'TC01', style = wx.ALIGN_LEFT)
    self.inputText2= wx.TextCtrl(panel, -1, '', pos = (87, 90), size = (500, 30), name = 'TC02', style = wx.ALIGN_LEFT)

    hbox1 = wx.BoxSizer(wx.HORIZONTAL)
    statictext1 = wx.StaticText(parent = panel, pos = (20, 55), label = '查找内容:')
    statictext2 = wx.StaticText(parent = panel, pos = (20, 95), label = '输入路径:')
    statictext3 = wx.StaticText(parent = panel, pos = (609, 200), label = '输入路径范围\n以更新数据库')
    statictext4 = wx.StaticText(parent = panel, pos = (85, 135), label = '文件名称')
    statictext5 = wx.StaticText(parent = panel, pos = (286, 135), label = '文件路径&
  • 8
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值