乐于分享
好东西不私藏

Python 开发桌面软件文档及网址管理工具,迅速提高工作效率

Python 开发桌面软件文档及网址管理工具,迅速提高工作效率

(点击上方公众号,可快速关注一起学Python)

来源:turbobin   链接:

https://github.com/turbobin/Open-Manager

写在前面

我是公号 【Python那些事】的粉丝,一直关注公号文章的更新,从中学习收获了很多。我也在此影响下走上了python开发的道路….

咳咳…废话不多说,这两天用python鼓捣开发了一个软件,分享给同事,觉得很实用,可以大大提高工作效率,想通过平台分享出来给大家

希望给爱好python的童鞋做参考,也希望能借此鼓励更多具有开源精神的开发者。

背景

工作了一段时间发现,电脑桌面上已经满屏的常用软件、常用项目文件夹的快捷方式,一大堆的常用文档,浏览器上收藏的工作网址更是有100+,通常想打开一个文档、网址要寻找半天,有没有方法可以集中管理这些地址呢?
我用python tkinter + webbrowser写了一个地址收藏工具

功能

  • 关键字搜索,字母不区分大小写

  • 添加:url网址,本地软件路径,本地文档路径

  • 选中删除

  • 双击/敲回车直接打开

  • 修改,可使用添加功能修改打开路径,起相同的名称,会覆盖原来的路径

原理

导入库

tkinter,webbrowser均为python标准库,不需要另外安装

 import tkinter as tk
import json
import webbrowser
from tkinter import messagebox
from tkinter import *

使用python自带界面开发库tkinter开发基本界面

 if __name__ == '__main__':
    root = Tk()  # 构造窗体
    root.title('Open Everything') # 标题
    root.iconbitmap('opentool.ico') # 加载图标

    root.resizable(0,0) # 固定窗口大小
    app = Application(master=root)

读取json文件,加载数据到Listbox

 self.urllist = self.readUrlList() # 获取列表
if self.urllist:
    self.createWidgets()
    self.mainloop()
else:
    messagebox.showinfo('Error','读取地址列表失败!请查看openlist.json文件是否存在并且格式正确。')
 # 加载地址列表
    for item in self.urllist:
        self.listbox.insert(END, item)  # 从尾部插入

添加事件处理

 def doevent(self):
    self.keywdbox.bind("<Return>",self.showlist) # 按回车键,显示搜索结果
    self.keywdbox.bind("<BackSpace>",self.showlistAll)
    self.listbox.bind('<Double-Button-1>',self.openurl) # 双击打开地址
    self.listbox.bind('<Return>',self.openurl) # 按Enter键打开地址

使用webbrowser.open(url)方法打开路径 

这个方法比较强大,如果是http地址,会直接在浏览器中打开,如果是本地地址,会直接打开软件/文件夹/文档…

 def openurl(self,event):
    urlname = self.listbox.get(self.listbox.curselection())
    url = self.urllist[urlname] # 根据key值获取对应url值

    if url is not None and url != '':
        webbrowser.open(url)
    else:
        messagebox.showinfo('Error !', '打开地址失败!地址为空。')

搜索功能 

搜索功能实现比较简单,遍历字典key值,判断关键字是否存在key中

 def showlist(self, event):
    keywd = self.keywdbox.get().strip()
    if keywd:
        self.listbox.delete(0, END) # 先做清空列表动作

        for item in self.urllist:
            if keywd.lower() in item.lower():   # 判断关键字是否存在字典key中
                self.listbox.insert(END, item)  # 加载搜索结果

退出软件时重新保存json文件

 def savaUrllist(self):
    with open('openlist.json', 'w', encoding='utf-8') as f:
        json.dump(self.urllist,f, ensure_ascii=False, indent=2)

    print('文件保存成功。')

打包软件

win下使用pyinstaller

Mac下使用py2app

使用教程

  • 获取软件和源码:

    https://github.com/turbobin/Open-Manager

  • 下载OpenTool.exe,解压到本地路径即可使用。

作者简介

turbobin,三年银行后端开发经验,坐标深圳。python爱好者,熟悉python,java,COBOL, Rexx等多种开发语言,熟悉Django,scrapy等框架,

擅长数据分析和处理。喜欢研究新技术,崇尚开源精神,乐于技术分享。

(完)

看完本文有收获?请转发分享给更多人

关注「Python那些事」,做全栈开发工程师

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Python 开发桌面软件文档及网址管理工具,迅速提高工作效率

评论 抢沙发

9 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮